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>
template<class ScalarType, class BaseLaw, class Regularization = NoRegularization, class EffToAbsPolicy = TwoPEffToAbsDefaultPolicy>
class Dumux::FluidMatrix::TwoPMaterialLaw< ScalarType, BaseLaw, Regularization, EffToAbsPolicy >
- 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. 
 | 
|  | 
◆ BasicParams
template<class ScalarType, class BaseLaw, class Regularization = NoRegularization, class EffToAbsPolicy = TwoPEffToAbsDefaultPolicy> 
      
 
 
◆ EffToAbs
template<class ScalarType, class BaseLaw, class Regularization = NoRegularization, class EffToAbsPolicy = TwoPEffToAbsDefaultPolicy> 
      
 
 
◆ EffToAbsParams
template<class ScalarType, class BaseLaw, class Regularization = NoRegularization, class EffToAbsPolicy = TwoPEffToAbsDefaultPolicy> 
      
 
 
◆ RegularizationParams
template<class ScalarType, class BaseLaw, class Regularization = NoRegularization, class EffToAbsPolicy = TwoPEffToAbsDefaultPolicy> 
      
 
 
◆ Scalar
template<class ScalarType, class BaseLaw, class Regularization = NoRegularization, class EffToAbsPolicy = TwoPEffToAbsDefaultPolicy> 
      
 
 
◆ TwoPMaterialLaw() [1/3]
template<class ScalarType, class BaseLaw, class Regularization = NoRegularization, class EffToAbsPolicy = TwoPEffToAbsDefaultPolicy> 
 
- Note
- store owning pointers to laws instead if you need default-constructible objects 
 
 
◆ TwoPMaterialLaw() [2/3]
template<class ScalarType, class BaseLaw, class Regularization = NoRegularization, class EffToAbsPolicy = TwoPEffToAbsDefaultPolicy> 
 
- Note
- This will give you nice error messages if a mandatory parameter is missing 
 
 
◆ TwoPMaterialLaw() [3/3]
template<class ScalarType, class BaseLaw, class Regularization = NoRegularization, class EffToAbsPolicy = TwoPEffToAbsDefaultPolicy> 
 
- Note
- More efficient constructor but you need to ensure all parameters are initialized 
 
 
◆ basicParams()
template<class ScalarType, class BaseLaw, class Regularization = NoRegularization, class EffToAbsPolicy = TwoPEffToAbsDefaultPolicy> 
 
 
◆ dkrn_dsw()
template<class ScalarType, class BaseLaw, class Regularization = NoRegularization, class EffToAbsPolicy = TwoPEffToAbsDefaultPolicy> 
template<bool enableRegularization = isRegularized()> 
 
 
◆ dkrw_dsw()
template<class ScalarType, class BaseLaw, class Regularization = NoRegularization, class EffToAbsPolicy = TwoPEffToAbsDefaultPolicy> 
template<bool enableRegularization = isRegularized()> 
 
 
◆ dpc_dsw()
template<class ScalarType, class BaseLaw, class Regularization = NoRegularization, class EffToAbsPolicy = TwoPEffToAbsDefaultPolicy> 
template<bool enableRegularization = isRegularized()> 
 
 
◆ dsw_dpc()
template<class ScalarType, class BaseLaw, class Regularization = NoRegularization, class EffToAbsPolicy = TwoPEffToAbsDefaultPolicy> 
template<bool enableRegularization = isRegularized()> 
 
 
◆ effToAbsParams()
template<class ScalarType, class BaseLaw, class Regularization = NoRegularization, class EffToAbsPolicy = TwoPEffToAbsDefaultPolicy> 
 
 
◆ endPointPc()
template<class ScalarType, class BaseLaw, class Regularization = NoRegularization, class EffToAbsPolicy = TwoPEffToAbsDefaultPolicy> 
 
 
◆ isRegularized()
template<class ScalarType, class BaseLaw, class Regularization = NoRegularization, class EffToAbsPolicy = TwoPEffToAbsDefaultPolicy> 
 
 
◆ krn()
template<class ScalarType, class BaseLaw, class Regularization = NoRegularization, class EffToAbsPolicy = TwoPEffToAbsDefaultPolicy> 
template<bool enableRegularization = isRegularized()> 
 
 
◆ krw()
template<class ScalarType, class BaseLaw, class Regularization = NoRegularization, class EffToAbsPolicy = TwoPEffToAbsDefaultPolicy> 
template<bool enableRegularization = isRegularized()> 
 
 
◆ makeBasicParams()
template<class ScalarType, class BaseLaw, class Regularization = NoRegularization, class EffToAbsPolicy = TwoPEffToAbsDefaultPolicy> 
 
 
◆ makeEffToAbsParams()
template<class ScalarType, class BaseLaw, class Regularization = NoRegularization, class EffToAbsPolicy = TwoPEffToAbsDefaultPolicy> 
 
 
◆ numFluidPhases()
template<class ScalarType, class BaseLaw, class Regularization = NoRegularization, class EffToAbsPolicy = TwoPEffToAbsDefaultPolicy> 
 
 
◆ operator==()
template<class ScalarType, class BaseLaw, class Regularization = NoRegularization, class EffToAbsPolicy = TwoPEffToAbsDefaultPolicy> 
 
 
◆ pc()
template<class ScalarType, class BaseLaw, class Regularization = NoRegularization, class EffToAbsPolicy = TwoPEffToAbsDefaultPolicy> 
template<bool enableRegularization = isRegularized()> 
 
 
◆ sw()
template<class ScalarType, class BaseLaw, class Regularization = NoRegularization, class EffToAbsPolicy = TwoPEffToAbsDefaultPolicy> 
template<bool enableRegularization = isRegularized()> 
 
 
The documentation for this class was generated from the following file: