Implementation of the abstract base class for friction laws. More...
#include <dumux/material/fluidmatrixinteractions/frictionlaws/frictionlaw.hh>
A LET mobility model can be used to add an artificial water depth to limit the friction for small water depths.
Public Member Functions | |
virtual Dune::FieldVector< Scalar, 2 > | bottomShearStress (const VolumeVariables &volVars) const =0 |
Compute the bottom shear stress. More... | |
Scalar | limitRoughH (const Scalar roughnessHeight, const Scalar waterDepth, const Scalar eps=1.0e-12) const |
Limit the friction for small water depth. More... | |
virtual | ~FrictionLaw ()=default |
|
virtualdefault |
|
pure virtual |
volVars | Volume variables |
Compute the bottom shear stress due to bottom friction. The bottom shear stress is a projection of the shear stress tensor onto the river bed. It can therefore be represented by a (tangent) vector with two entries.
Implemented in Dumux::FrictionLawManning< VolumeVariables >, Dumux::FrictionLawNikuradse< VolumeVariables >, Dumux::FrictionLawNoFriction< VolumeVariables >, and Dumux::FrictionLawViscousNoSlip< VolumeVariables >.
|
inline |
Compute a small artificial water depth that is added to the actual water depth to avoid extreme friction values which can occur for small water depths.
The function is called with a roughness height, which can be seen as roughness height of the surface (e.g. grain size). For a zero roughnessHeight the artificial water depth will be zero.
A water depth minUpperH (minUpperH = 2 * roughnessHeight) is defined for the limiting. Limiting is applied between both depths.
----------------------— minUpperH --------—
---------------------—roughnessHeight ------------— /\ /\ roughness /grain\ ----------------------------—bottom ---------------— /////////////////////////////////////////////////
For the limiting the LET model is used, which is usually applied in the porous media flow to limit the permeability due to the saturation. It employs the three empirical parameters L, E and T, which describe the limiting curve (mobility).
auto mobility = (mobility_max * pow(sw,L))/(pow(sw,L) + E * pow(1.0-sw,T));
For the limitation of the roughness height L = 0.0, T = 2.0 and E = 1.0 are chosen. Therefore the calculation of the mobility is simplified significantly.
roughnessHeight | roughness height of the representative structure (e.g. largest grain size). |
waterDepth | water depth. |
eps | If the roughness height falls below this threshold, this function returns zero. |
< maximal mobility