Implementation of a viscous no-slip bottom friction law. More...
#include <dumux/material/fluidmatrixinteractions/frictionlaws/viscousnoslip.hh>
This assumes thin film flow with a parabolic velocity profile in depth (for the depth-averaged shallow water equations). The velocity profile and associated bottom shear stress can be derived from plane Poiseuille flow with a free surface boundary condition on top and a no-slip boundary condition on the bottom.
Public Member Functions | |
Dune::FieldVector< Scalar, 2 > | bottomShearStress (const VolumeVariables &volVars) const final |
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... | |
|
inlinefinalvirtual |
Compute the bottom shear stress due to bottom friction. The bottom shear stress is a projection of the shear stress tensor onto the bottom plane. It can therefore be represented by a (tangent) vector with two entries.
Implements Dumux::FrictionLaw< VolumeVariables >.
|
inlineinherited |
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