This material law takes a material law defined for effective saturations and converts it to a material law defined on absolute saturations. More...
#include <dumux/material/fluidmatrixinteractions/2p/efftoabslaw.hh>
This material law takes a material law defined for effective saturations and converts it to a material law defined on absolute saturations.
The idea: "material laws" (like VanGenuchten or BrooksCorey) are defined for effective saturations. The numeric calculations however are performed with absolute saturations. The EffToAbsLaw class gets the "material laws" actually used as well as the corresponding parameter container as template arguments.
Subsequently, the desired function (pc, sw... ) of the actually used "material laws" are called but with the saturations already converted from absolute to effective.
This approach makes sure that in the "material laws" only effective saturations are considered, which makes sense, as these laws only deal with effective saturations. This also allows for changing the calculation of the effective saturations easily, as this is subject of discussion / may be problem specific.
Additionally, handing over effective saturations to the "material laws" in stead of them calculating effective saturations prevents accidently "converting twice".
This boils down to:
Public Types | |
using | Params = AbsParamsT |
using | Scalar = typename EffLaw::Scalar |
using | Params = AbsParamsT |
using | Scalar = typename EffLaw::Scalar |
Static Public Member Functions | |
static Scalar | pc (const Params ¶ms, Scalar sw) |
The capillary pressure-saturation curve. More... | |
static Scalar | sw (const Params ¶ms, Scalar pc) |
The saturation-capillary pressure curve. More... | |
static Scalar | endPointPc (const Params ¶ms) |
The capillary pressure at Swe = 1.0 also called end point capillary pressure. More... | |
static Scalar | dpc_dsw (const Params ¶ms, Scalar sw) |
Returns the partial derivative of the capillary pressure w.r.t the absolute saturation. More... | |
static Scalar | dsw_dpc (const Params ¶ms, Scalar pc) |
Returns the partial derivative of the absolute saturation w.r.t. the capillary pressure. More... | |
static Scalar | krw (const Params ¶ms, Scalar sw) |
The relative permeability for the wetting phase. More... | |
static Scalar | dkrw_dsw (const Params ¶ms, Scalar sw) |
Returns the partial derivative of the relative permeability of the wetting phase with respect to the wetting saturation. More... | |
static Scalar | krn (const Params ¶ms, Scalar sw) |
The relative permeability for the nonwetting phase. More... | |
static Scalar | dkrn_dsw (const Params ¶ms, Scalar sw) |
Returns the partial derivative of the relative permeability of the nonwetting phase with respect to the wetting saturation. More... | |
static Scalar | swToSwe (const Params ¶ms, Scalar sw) |
Convert an absolute wetting saturation to an effective one. More... | |
static Scalar | snToSne (const Params ¶ms, Scalar sn) |
Convert an absolute nonwetting saturation to an effective one. More... | |
static Scalar | sweToSw (const Params ¶ms, Scalar swe) |
Convert an effective wetting saturation to an absolute one. More... | |
static Scalar | sneToSn (const Params ¶ms, Scalar sne) |
Convert an effective nonwetting saturation to an absolute one. More... | |
static Scalar | dswe_dsw (const Params ¶ms) |
Derivative of the effective saturation w.r.t. the absolute saturation. More... | |
static Scalar | dsw_dswe (const Params ¶ms) |
Derivative of the absolute saturation w.r.t. the effective saturation. More... | |
static Scalar | pc (const Params ¶ms, const Scalar sw) |
The capillary pressure-saturation curve. More... | |
static Scalar | pcgw (const Params ¶ms, const Scalar sw) |
The capillary pressure-saturation curve for the gas and wetting phase. More... | |
static Scalar | pcnw (const Params ¶ms, const Scalar sw) |
The capillary pressure-saturation curve the nonwetting and wetting phase. More... | |
static Scalar | pcgn (const Params ¶ms, const Scalar st) |
The capillary pressure-saturation curve for the gas and nonwetting phase. More... | |
static Scalar | pcAlpha (const Params ¶ms, const Scalar sn) |
This function ensures a continuous transition from 2 to 3 phases and vice versa. More... | |
static Scalar | sw (const Params ¶ms, const Scalar pc) |
The saturation-capillary pressure curve. More... | |
static Scalar | dpc_dsw (const Params ¶ms, const Scalar sw) |
Returns the partial derivative of the capillary pressure w.r.t the absolute saturation. In this case the chain rule needs to be applied: \(\mathrm{ p_c = p_c( \overline{S}_w (S_w)) \rightarrow p_c ^\prime = \frac{\partial p_c}{\partial \overline S_w} \frac{\partial \overline{S}_w}{\partial S_w} }\). More... | |
static Scalar | dsw_dpc (const Params ¶ms, const Scalar pc) |
Returns the partial derivative of the absolute saturation w.r.t. the capillary pressure. In this case the chain rule needs to be applied: \(\mathrm{ S_w = S_w(\overline{S}_w (p_c) ) \rightarrow S_w^\prime = \frac{\partial S_w}{\partial \overline{S}_w} \frac{\partial \overline{S}_w}{\partial p_c} }\). More... | |
static Scalar | krw (const Params ¶ms, Scalar sw, const Scalar sn) |
The relative permeability for the wetting phase. More... | |
static Scalar | krn (const Params ¶ms, const Scalar sw, const Scalar sn) |
The relative permeability for the nonwetting phase. More... | |
static Scalar | krg (const Params ¶ms, const Scalar sw, const Scalar sn) |
The relative permeability for the gas phase. More... | |
static Scalar | kr (const Params ¶ms, const int phaseIdx, const Scalar sw, const Scalar sn, const Scalar sg) |
The relative permeability for a phase. More... | |
static Scalar | bulkDensTimesAdsorpCoeff (const Params ¶ms) |
the basis for calculating adsorbed NAPL in storage term More... | |
static Scalar | swToSwe (const Params ¶ms, const Scalar sw) |
Convert an absolute wetting saturation to an effective one. More... | |
static Scalar | snToSne (const Params ¶ms, const Scalar sn) |
Convert an absolute nonwetting saturation to an effective one. More... | |
static Scalar | stToSte (const Params ¶ms, const Scalar st) |
Convert an absolute total liquid saturation to an effective one. More... | |
static Scalar | sgToSge (const Params ¶ms, Scalar sg) |
Convert an absolute gas saturation to an effective one. More... | |
static Scalar | sweToSw_ (const Params ¶ms, Scalar swe) |
Convert an effective wetting saturation to an absolute one. More... | |
static Scalar | sneToSn_ (const Params ¶ms, Scalar sne) |
static Scalar | sgeToSg_ (const Params ¶ms, Scalar sge) |
static Scalar | dswe_dsw_ (const Params ¶ms) |
Derivative of the effective saturation w.r.t. the absolute saturation. More... | |
static Scalar | dsw_dswe_ (const Params ¶ms) |
Derivative of the absolute saturation w.r.t. the effective saturation. More... | |
using Dumux::EffToAbsLaw< EffLawT, AbsParamsT >::Params = AbsParamsT |
using Dumux::EffToAbsLaw< EffLawT, AbsParamsT >::Params = AbsParamsT |
using Dumux::EffToAbsLaw< EffLawT, AbsParamsT >::Scalar = typename EffLaw::Scalar |
using Dumux::EffToAbsLaw< EffLawT, AbsParamsT >::Scalar = typename EffLaw::Scalar |
|
inlinestatic |
the basis for calculating adsorbed NAPL in storage term
params | Array of parameters |
|
inlinestatic |
Returns the partial derivative of the relative permeability of the nonwetting phase with respect to the wetting saturation.
sw | Absolute saturation of the wetting phase \(\mathrm{[\overline{S}_w]}\). |
params | A container object that is populated with the appropriate coefficients for the respective law. |
|
inlinestatic |
Returns the partial derivative of the relative permeability of the wetting phase with respect to the wetting saturation.
sw | Absolute saturation of the wetting phase \(\mathrm{[\overline{S}_w]}\). |
params | A container object that is populated with the appropriate coefficients for the respective law. |
|
inlinestatic |
Returns the partial derivative of the capillary pressure w.r.t the absolute saturation. In this case the chain rule needs to be applied: \(\mathrm{ p_c = p_c( \overline{S}_w (S_w)) \rightarrow p_c ^\prime = \frac{\partial p_c}{\partial \overline S_w} \frac{\partial \overline{S}_w}{\partial S_w} }\).
sw | Absolute saturation of the wetting phase \(\mathrm{[\overline{S}_w]}\). |
params | A container object that is populated with the appropriate coefficients for the respective law. Therefore, in the (problem specific) spatialParameters first, the material law is chosen, and then the params container is constructed accordingly. Afterwards the values are set there, too. |
|
inlinestatic |
Returns the partial derivative of the capillary pressure w.r.t the absolute saturation.
In this case the chain rule needs to be applied: \(\mathrm{ p_c = p_c( \overline{S}_w (S_w)) \rightarrow p_c ^\prime = \frac{\partial p_c}{\partial \overline S_w} \frac{\partial \overline{S}_w}{\partial S_w} }\)
sw | Absolute saturation of the wetting phase \(\mathrm{[\overline{S}_w]}\). |
params | A container object that is populated with the appropriate coefficients for the respective law. Therefore, in the (problem specific) spatialParameters first, the material law is chosen, and then the params container is constructed accordingly. Afterwards the values are set there, too. |
|
inlinestatic |
Returns the partial derivative of the absolute saturation w.r.t. the capillary pressure. In this case the chain rule needs to be applied: \(\mathrm{ S_w = S_w(\overline{S}_w (p_c) ) \rightarrow S_w^\prime = \frac{\partial S_w}{\partial \overline{S}_w} \frac{\partial \overline{S}_w}{\partial p_c} }\).
pc | Capillary pressure \(\mathrm{[p_c]}\) in \(\mathrm{[Pa]}\). |
params | A container object that is populated with the appropriate coefficients for the respective law. Therefore, in the (problem specific) spatialParameters first, the material law is chosen, and then the params container is constructed accordingly. Afterwards the values are set there, too. |
|
inlinestatic |
Returns the partial derivative of the absolute saturation w.r.t. the capillary pressure.
In this case the chain rule needs to be applied: \(\mathrm{ S_w = S_w(\overline{S}_w (p_c) ) \rightarrow S_w^\prime = \frac{\partial S_w}{\partial \overline{S}_w} \frac{\partial \overline{S}_w}{\partial p_c} }\)
pc | Capillary pressure \(\mathrm{[p_c]}\) in \(\mathrm{[Pa]}\). |
params | A container object that is populated with the appropriate coefficients for the respective law. Therefore, in the (problem specific) spatialParameters first, the material law is chosen, and then the params container is constructed accordingly. Afterwards the values are set there, too. |
|
inlinestatic |
Derivative of the absolute saturation w.r.t. the effective saturation.
params | A container object that is populated with the appropriate coefficients for the respective law. Therefore, in the (problem specific) spatialParameters first, the material law is chosen, and then the params container is constructed accordingly. Afterwards the values are set there, too. |
|
inlinestatic |
Derivative of the absolute saturation w.r.t. the effective saturation.
params | A container object that is populated with the appropriate coefficients for the respective law. Therefore, in the (problem specific) spatialParameters first, the material law is chosen, and then the params container is constructed accordingly. Afterwards the values are set there, too. |
|
inlinestatic |
Derivative of the effective saturation w.r.t. the absolute saturation.
params | A container object that is populated with the appropriate coefficients for the respective law. Therefore, in the (problem specific) spatialParameters first, the material law is chosen, and then the params container is constructed accordingly. Afterwards the values are set there, too. |
|
inlinestatic |
Derivative of the effective saturation w.r.t. the absolute saturation.
params | A container object that is populated with the appropriate coefficients for the respective law. Therefore, in the (problem specific) spatialParameters first, the material law is chosen, and then the params container is constructed accordingly. Afterwards the values are set there, too. |
|
inlinestatic |
The capillary pressure at Swe = 1.0 also called end point capillary pressure.
params | A container object that is populated with the appropriate coefficients for the respective law. Therefore, in the (problem specific) spatialParameters first, the material law is chosen, and then the params container is constructed accordingly. Afterwards the values are set there, too. |
|
inlinestatic |
The relative permeability for a phase.
sw | Wetting liquid saturation |
sg | Gas saturation |
sn | Nonwetting liquid saturation |
params | Array of parameters. |
phaseIdx | indicator, The saturation of all phases. |
|
inlinestatic |
The relative permeability for the gas phase.
sw | Absolute saturation of the wetting phase \(\mathrm{[{S}_w]}\). It is converted to effective saturation and then handed over to the material law actually used for calculation. |
sn | Absolute saturation of the nonwetting phase \(\mathrm{[{S}_n]}\). It is converted to effective saturation and then handed over to the material law actually used for calculation. |
params | A container object that is populated with the appropriate coefficients for the respective law. Therefore, in the (problem specific) spatialParameters first, the material law is chosen, and then the params container is constructed accordingly. Afterwards the values are set there, too. |
|
inlinestatic |
The relative permeability for the nonwetting phase.
sw | Absolute saturation of the wetting phase \(\mathrm{[{S}_w]}\). It is converted to effective saturation and then handed over to the material law actually used for calculation. |
sn | Absolute saturation of the nonwetting phase \(\mathrm{[{S}_n]}\). It is converted to effective saturation and then handed over to the material law actually used for calculation. |
params | A container object that is populated with the appropriate coefficients for the respective law. Therefore, in the (problem specific) spatialParameters first, the material law is chosen, and then the params container is constructed accordingly. Afterwards the values are set there, too. |
|
inlinestatic |
The relative permeability for the nonwetting phase.
sw | Absolute saturation of the wetting phase \(\mathrm{[{S}_w]}\). It is converted to effective saturation and then handed over to the material law actually used for calculation. |
params | A container object that is populated with the appropriate coefficients for the respective law. Therefore, in the (problem specific) spatialParameters first, the material law is chosen, and then the params container is constructed accordingly. Afterwards the values are set there, too. |
|
inlinestatic |
The relative permeability for the wetting phase.
sw | Absolute saturation of the wetting phase \(\mathrm{[\overline{S}_w]}\). It is converted to effective saturation and then handed over to the material law actually used for calculation. |
params | A container object that is populated with the appropriate coefficients for the respective law. Therefore, in the (problem specific) spatialParameters first, the material law is chosen, and then the params container is constructed accordingly. Afterwards the values are set there, too. |
|
inlinestatic |
The relative permeability for the wetting phase.
sw | Absolute saturation of the wetting phase \(\mathrm{[\overline{S}_w]}\). It is converted to effective saturation and then handed over to the material law actually used for calculation. |
sn | Absolute saturation of the nonwetting phase \(\mathrm{[{S}_n]}\). It is converted to effective saturation and then handed over to the material law actually used for calculation. |
params | A container object that is populated with the appropriate coefficients for the respective law. Therefore, in the (problem specific) spatialParameters first, the material law is chosen, and then the params container is constructed accordingly. Afterwards the values are set there, too. |
|
inlinestatic |
The capillary pressure-saturation curve.
sw | Absolute saturation of the wetting phase \(\mathrm{[\overline{S}_w]}\). It is converted to effective saturation and then handed over to the material law actually used for calculation. |
params | A container object that is populated with the appropriate coefficients for the respective law. Therefore, in the (problem specific) spatialParameters first, the material law is chosen, and then the params container is constructed accordingly. Afterwards the values are set there, too. |
|
inlinestatic |
The capillary pressure-saturation curve.
sw | Absolute saturation of the wetting phase \(\mathrm{[\overline{S}_w]}\). It is converted to effective saturation and then handed over to the material law actually used for calculation. |
params | A container object that is populated with the appropriate coefficients for the respective law. Therefore, in the (problem specific) spatialParameters first, the material law is chosen, and then the params container is constructed accordingly. Afterwards the values are set there, too. |
|
inlinestatic |
This function ensures a continuous transition from 2 to 3 phases and vice versa.
params | Array of parameters |
sn | Nonwetting liquid saturation |
|
inlinestatic |
The capillary pressure-saturation curve for the gas and nonwetting phase.
params | Array of parameters |
st | sum of wetting (liquid) phase saturations |
|
inlinestatic |
The capillary pressure-saturation curve for the gas and wetting phase.
params | Array of parameters |
sw | wetting phase saturation or sum of wetting phase saturations |
|
inlinestatic |
The capillary pressure-saturation curve the nonwetting and wetting phase.
params | Array of parameters |
sw | wetting phase saturation or sum of wetting phase saturations |
|
inlinestatic |
|
inlinestatic |
Convert an absolute gas saturation to an effective one.
sg | Absolute saturation of the gas phase \(\mathrm{[{S}_n]}\). |
params | A container object that is populated with the appropriate coefficients for the respective law. Therefore, in the (problem specific) spatialParameters first, the material law is chosen, and then the params container is constructed accordingly. Afterwards the values are set there, too. |
|
inlinestatic |
Convert an effective nonwetting saturation to an absolute one.
sne | Effective saturation of the nonwetting phase \(\mathrm{[{S}_n]}\). |
params | A container object that is populated with the appropriate coefficients for the respective law. Therefore, in the (problem specific) spatialParameters first, the material law is chosen, and then the params container is constructed accordingly. Afterwards the values are set there, too. |
|
inlinestatic |
|
inlinestatic |
Convert an absolute nonwetting saturation to an effective one.
sn | Absolute saturation of the nonwetting phase \(\mathrm{[{S}_n]}\). |
params | A container object that is populated with the appropriate coefficients for the respective law. Therefore, in the (problem specific) spatialParameters first, the material law is chosen, and then the params container is constructed accordingly. Afterwards the values are set there, too. |
|
inlinestatic |
Convert an absolute nonwetting saturation to an effective one.
sn | Absolute saturation of the nonwetting phase \(\mathrm{[{S}_n]}\). |
params | A container object that is populated with the appropriate coefficients for the respective law. Therefore, in the (problem specific) spatialParameters first, the material law is chosen, and then the params container is constructed accordingly. Afterwards the values are set there, too. |
|
inlinestatic |
Convert an absolute total liquid saturation to an effective one.
st | Absolute saturation of the total liquid phase (sw+sn) \(\mathrm{[{S}_n]}\). |
params | A container object that is populated with the appropriate coefficients for the respective law. Therefore, in the (problem specific) spatialParameters first, the material law is chosen, and then the params container is constructed accordingly. Afterwards the values are set there, too. |
|
inlinestatic |
The saturation-capillary pressure curve.
pc | Capillary pressure \(\mathrm{[p_c]}\) in \(\mathrm{[Pa]}\). |
params | A container object that is populated with the appropriate coefficients for the respective law. Therefore, in the (problem specific) spatialParameters first, the material law is chosen, and then the params container is constructed accordingly. Afterwards the values are set there, too. |
|
inlinestatic |
The saturation-capillary pressure curve.
pc | Capillary pressure \(\mathrm{[p_c]}\) in \(\mathrm{[Pa]}\). |
params | A container object that is populated with the appropriate coefficients for the respective law. Therefore, in the (problem specific) spatialParameters first, the material law is chosen, and then the params container is constructed accordingly. Afterwards the values are set there, too. |
|
inlinestatic |
Convert an effective wetting saturation to an absolute one.
swe | Effective saturation of the nonwetting phase \(\mathrm{[\overline{S}_n]}\). |
params | A container object that is populated with the appropriate coefficients for the respective law. Therefore, in the (problem specific) spatialParameters first, the material law is chosen, and then the params container is constructed accordingly. Afterwards the values are set there, too. |
|
inlinestatic |
Convert an effective wetting saturation to an absolute one.
swe | Effective saturation of the nonwetting phase \(\mathrm{[\overline{S}_n]}\). |
params | A container object that is populated with the appropriate coefficients for the respective law. Therefore, in the (problem specific) spatialParameters first, the material law is chosen, and then the params container is constructed accordingly. Afterwards the values are set there, too. |
|
inlinestatic |
Convert an absolute wetting saturation to an effective one.
sw | Absolute saturation of the wetting phase \(\mathrm{[{S}_w]}\). |
params | A container object that is populated with the appropriate coefficients for the respective law. Therefore, in the (problem specific) spatialParameters first, the material law is chosen, and then the params container is constructed accordingly. Afterwards the values are set there, too. |
|
inlinestatic |
Convert an absolute wetting saturation to an effective one.
sw | Absolute saturation of the wetting phase \(\mathrm{[{S}_w]}\). |
params | A container object that is populated with the appropriate coefficients for the respective law. Therefore, in the (problem specific) spatialParameters first, the material law is chosen, and then the params container is constructed accordingly. Afterwards the values are set there, too. |