Implements a linear saturation-capillary pressure relation. More...
#include <dumux/material/fluidmatrixinteractions/2p/smoothedlinearlaw.hh>
Implements a linear saturation-capillary pressure relation.
The entry pressure is reached at \(\mathrm{\overline{S}_w = 1}\), the maximum capillary pressure is observed at \(\mathrm{\overline{S}_w = 0}\).
The relative permeabilities are 0 or 1 outside of the range of effective saturation. However, the transition between the linearly changing and the constant part is not smooth but with a kink. The Newton scheme does not like that. Therefore a smooth transition is accomplished by interpolating these regions with a spline.
An example of the regularization of the relative permeability is shown below:
Classes | |
struct | Params |
The parameter type. More... | |
Public Types | |
using | Scalar = ScalarType |
using | EffToAbsParams = typename EffToAbsPolicy::template Params< Scalar > |
using | EffToAbs = EffToAbsPolicy |
Public Member Functions | |
SmoothedLinearLaw ()=delete | |
Deleted default constructor (so we are never in an undefined state) More... | |
SmoothedLinearLaw (const std::string ¶mGroup) | |
Construct from a subgroup from the global parameter tree. More... | |
SmoothedLinearLaw (const Params ¶ms, const EffToAbsParams &effToAbsParams={}) | |
Construct from parameter structs. More... | |
Scalar | pc (Scalar swe) const |
The capillary pressure-saturation curve. More... | |
Scalar | swe (Scalar pc) const |
The inverse saturation-capillary pressure curve. More... | |
Scalar | endPointPc () const |
The capillary pressure at Swe = 1.0 also called end point capillary pressure. More... | |
Scalar | dpc_dswe (Scalar swe) const |
The partial derivative of the capillary pressure w.r.t. the effective saturation. More... | |
Scalar | dswe_dpc (Scalar pc) const |
The partial derivative of the effective saturation w.r.t. the capillary pressure. More... | |
Scalar | krw (Scalar swe) const |
The relative permeability for the wetting phase. More... | |
Scalar | krn (Scalar swe) const |
The relative permeability for the non-wetting phase. More... | |
bool | operator== (const SmoothedLinearLaw< Scalar, EffToAbs > &o) const |
Equality comparison with another instance. More... | |
const EffToAbsParams & | effToAbsParams () const |
Static Public Member Functions | |
static constexpr bool | isRegularized () |
Return whether this law is regularized. More... | |
static constexpr int | numFluidPhases () |
Return the number of fluid phases. More... | |
static Params | makeParams (const std::string ¶mGroup) |
Construct from a subgroup from the global parameter tree. More... | |
using Dumux::FluidMatrix::SmoothedLinearLaw< ScalarType, EffToAbsPolicy >::EffToAbs = EffToAbsPolicy |
using Dumux::FluidMatrix::SmoothedLinearLaw< ScalarType, EffToAbsPolicy >::EffToAbsParams = typename EffToAbsPolicy::template Params<Scalar> |
using Dumux::FluidMatrix::SmoothedLinearLaw< ScalarType, EffToAbsPolicy >::Scalar = ScalarType |
|
delete |
Deleted default constructor (so we are never in an undefined state)
|
inlineexplicit |
Construct from a subgroup from the global parameter tree.
|
inline |
Construct from parameter structs.
|
inline |
The partial derivative of the capillary pressure w.r.t. the effective saturation.
|
inline |
The partial derivative of the effective saturation w.r.t. the capillary pressure.
|
inline |
|
inline |
The capillary pressure at Swe = 1.0 also called end point capillary pressure.
|
inlinestaticconstexpr |
Return whether this law is regularized.
|
inline |
The relative permeability for the non-wetting phase.
|
inline |
The relative permeability for the wetting phase.
|
inlinestatic |
Construct from a subgroup from the global parameter tree.
|
inlinestaticconstexpr |
Return the number of fluid phases.
|
inline |
Equality comparison with another instance.
|
inline |
The capillary pressure-saturation curve.
|
inline |
The inverse saturation-capillary pressure curve.