Wrapper class to implement regularized material laws (pc-sw, kr-sw) with a conversion policy between absolution and effective saturations. More...
#include <dumux/material/fluidmatrixinteractions/2p/materiallaw.hh>
Wrapper class to implement regularized material laws (pc-sw, kr-sw) with a conversion policy between absolution and effective saturations.
| ScalarType | the scalar type |
| BaseLaw | the base law (e.g. VanGenuchten, BrooksCorey, Linear, ...) |
| Regularization | the regularization type (set to NoRegularization to turn it off) |
| EffToAbsPolicy | the policy how to convert effective <-> absolute saturations |
Public Types | |
| using | Scalar = ScalarType |
| using | BasicParams = typename BaseLaw::template Params< Scalar > |
| using | EffToAbsParams = typename EffToAbsPolicy::template Params< Scalar > |
| using | RegularizationParams = typename Regularization::template Params< Scalar > |
| using | EffToAbs = EffToAbsPolicy |
Public Member Functions | |
| TwoPMaterialLaw ()=delete | |
| Deleted default constructor (so we are never in an undefined state) More... | |
| TwoPMaterialLaw (const std::string ¶mGroup) | |
| Construct from a subgroup from the global parameter tree. More... | |
| TwoPMaterialLaw (const BasicParams &baseParams, const EffToAbsParams &effToAbsParams={}, const RegularizationParams ®Params={}) | |
| Construct from parameter structs. More... | |
| template<bool enableRegularization = isRegularized()> | |
| Scalar | pc (const Scalar sw) const |
| The capillary pressure-saturation curve. More... | |
| template<bool enableRegularization = isRegularized()> | |
| Scalar | dpc_dsw (const Scalar sw) const |
| The partial derivative of the capillary pressure w.r.t. the saturation. More... | |
| Scalar | endPointPc () const |
| The capillary pressure at Swe = 1.0 also called end point capillary pressure. More... | |
| template<bool enableRegularization = isRegularized()> | |
| Scalar | sw (const Scalar pc) const |
| The saturation-capillary pressure curve. More... | |
| template<bool enableRegularization = isRegularized()> | |
| Scalar | dsw_dpc (const Scalar pc) const |
| The partial derivative of the saturation to the capillary pressure. More... | |
| template<bool enableRegularization = isRegularized()> | |
| Scalar | krw (const Scalar sw) const |
| The relative permeability for the wetting phase. More... | |
| template<bool enableRegularization = isRegularized()> | |
| Scalar | dkrw_dsw (const Scalar sw) const |
| The derivative of the relative permeability for the wetting phase w.r.t. saturation. More... | |
| template<bool enableRegularization = isRegularized()> | |
| Scalar | krn (const Scalar sw) const |
| The relative permeability for the non-wetting phase. More... | |
| template<bool enableRegularization = isRegularized()> | |
| Scalar | dkrn_dsw (const Scalar sw) const |
| The derivative of the relative permeability for the non-wetting phase w.r.t. saturation. More... | |
| bool | operator== (const TwoPMaterialLaw &o) const |
| Equality comparison with another instance. More... | |
| const BasicParams & | basicParams () const |
| Return the base law's parameters. More... | |
| const EffToAbsParams & | effToAbsParams () const |
| Return the parameters of the EffToAbs policy. More... | |
Static Public Member Functions | |
| static constexpr int | numFluidPhases () |
| Return the number of fluid phases. More... | |
| static constexpr bool | isRegularized () |
| Return whether this law is regularized. More... | |
| static BasicParams | makeBasicParams (const std::string ¶mGroup) |
| Create the base law's parameters using input file parameters. More... | |
| static EffToAbsParams | makeEffToAbsParams (const std::string ¶mGroup) |
| Create the parameters of the EffToAbs policy using input file parameters. More... | |
| using Dumux::FluidMatrix::TwoPMaterialLaw< ScalarType, BaseLaw, Regularization, EffToAbsPolicy >::BasicParams = typename BaseLaw::template Params<Scalar> |
| using Dumux::FluidMatrix::TwoPMaterialLaw< ScalarType, BaseLaw, Regularization, EffToAbsPolicy >::EffToAbs = EffToAbsPolicy |
| using Dumux::FluidMatrix::TwoPMaterialLaw< ScalarType, BaseLaw, Regularization, EffToAbsPolicy >::EffToAbsParams = typename EffToAbsPolicy::template Params<Scalar> |
| using Dumux::FluidMatrix::TwoPMaterialLaw< ScalarType, BaseLaw, Regularization, EffToAbsPolicy >::RegularizationParams = typename Regularization::template Params<Scalar> |
| using Dumux::FluidMatrix::TwoPMaterialLaw< ScalarType, BaseLaw, Regularization, 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 |
Return the base law's parameters.
|
inline |
The derivative of the relative permeability for the non-wetting phase w.r.t. saturation.
|
inline |
The derivative of the relative permeability for the wetting phase w.r.t. saturation.
|
inline |
The partial derivative of the capillary pressure w.r.t. the saturation.
|
inline |
The partial derivative of the saturation to the capillary pressure.
|
inline |
Return the parameters of the EffToAbs policy.
|
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 |
Create the base law's parameters using input file parameters.
|
inlinestatic |
Create the parameters of the EffToAbs policy using input file parameters.
|
inlinestaticconstexpr |
Return the number of fluid phases.
|
inline |
Equality comparison with another instance.
|
inline |
The capillary pressure-saturation curve.
|
inline |
The saturation-capillary pressure curve.