Wrapper class to implement regularized material laws (pc-sw, kr-sw) with a conversion policy between absolution and effective saturations.
More...
template<class ScalarType, class BaseLaw, class Regularization = NoRegularization, class EffToAbsPolicy = TwoPEffToAbsDefaultPolicy>
class Dumux::FluidMatrix::TwoPMaterialLaw< ScalarType, BaseLaw, Regularization, EffToAbsPolicy >
Wrapper class to implement regularized material laws (pc-sw, kr-sw) with a conversion policy between absolution and effective saturations.
- Note
- See vangenuchten.hh / brookscorey.hh for default configurations using this class
- Template Parameters
-
| 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 |
- Note
- The regularization interface is expected to return Dumux::OptionalScalars which are wrappers around a Scalar type that provide a boolean operator to check whether the result is valid. If the regularization returns a non-valid value, it means that the given parameter range is outside the regularized region. For that case we forward to the call to the standard law.
|
| | TwoPMaterialLaw ()=delete |
| | Deleted default constructor (so we are never in an undefined state).
|
| | TwoPMaterialLaw (const std::string ¶mGroup) |
| | Construct from a subgroup from the global parameter tree.
|
| | TwoPMaterialLaw (const BasicParams &baseParams, const EffToAbsParams &effToAbsParams={}, const RegularizationParams ®Params={}) |
| | Construct from parameter structs.
|
| template<bool enableRegularization = isRegularized()> |
| Scalar | pc (const Scalar sw) const |
| | The capillary pressure-saturation curve.
|
| template<bool enableRegularization = isRegularized()> |
| Scalar | dpc_dsw (const Scalar sw) const |
| | The partial derivative of the capillary pressure w.r.t. the saturation.
|
| Scalar | endPointPc () const |
| | The capillary pressure at Swe = 1.0 also called end point capillary pressure.
|
| template<bool enableRegularization = isRegularized()> |
| Scalar | sw (const Scalar pc) const |
| | The saturation-capillary pressure curve.
|
| template<bool enableRegularization = isRegularized()> |
| Scalar | dsw_dpc (const Scalar pc) const |
| | The partial derivative of the saturation to the capillary pressure.
|
| template<bool enableRegularization = isRegularized()> |
| Scalar | krw (const Scalar sw) const |
| | The relative permeability for the wetting phase.
|
| 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.
|
| template<bool enableRegularization = isRegularized()> |
| Scalar | krn (const Scalar sw) const |
| | The relative permeability for the non-wetting phase.
|
| 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.
|
| bool | operator== (const TwoPMaterialLaw &o) const |
| | Equality comparison with another instance.
|
| const BasicParams & | basicParams () const |
| | Return the base law's parameters.
|
| const EffToAbsParams & | effToAbsParams () const |
| | Return the parameters of the EffToAbs policy.
|