Implements a linear saturation-capillary pressure relation. More...
#include <dumux/material/fluidmatrixinteractions/2p/smoothedlinearlaw.hh>
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) | |
| SmoothedLinearLaw (const std::string ¶mGroup) | |
| Construct from a subgroup from the global parameter tree. | |
| SmoothedLinearLaw (const Params ¶ms, const EffToAbsParams &effToAbsParams={}) | |
| Construct from parameter structs. | |
| Scalar | pc (Scalar swe) const | 
| The capillary pressure-saturation curve. | |
| Scalar | swe (Scalar pc) const | 
| The inverse saturation-capillary pressure curve. | |
| Scalar | endPointPc () const | 
| The capillary pressure at Swe = 1.0 also called end point capillary pressure. | |
| Scalar | dpc_dswe (Scalar swe) const | 
| The partial derivative of the capillary pressure w.r.t. the effective saturation. | |
| Scalar | dswe_dpc (Scalar pc) const | 
| The partial derivative of the effective saturation w.r.t. the capillary pressure. | |
| Scalar | krw (Scalar swe) const | 
| The relative permeability for the wetting phase. | |
| Scalar | krn (Scalar swe) const | 
| The relative permeability for the non-wetting phase. | |
| bool | operator== (const SmoothedLinearLaw< Scalar, EffToAbs > &o) const | 
| Equality comparison with another instance. | |
| const EffToAbsParams & | effToAbsParams () const | 
| Static Public Member Functions | |
| static constexpr bool | isRegularized () | 
| Return whether this law is regularized. | |
| static constexpr int | numFluidPhases () | 
| Return the number of fluid phases. | |
| static Params | makeParams (const std::string ¶mGroup) | 
| Construct from a subgroup from the global parameter tree. | |
| 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 | 
| 
 | inlineexplicit | 
| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
| 
 | inline | 
| 
 | inlinestaticconstexpr | 
| 
 | inline | 
| 
 | inline | 
| 
 | inlinestatic | 
| 
 | inlinestaticconstexpr | 
| 
 | inline | 
| 
 | inline | 
| 
 | inline |