Implementation of the regularized van Genuchten's capillary pressure <-> saturation relation. This class bundles the "raw" curves as static members and doesn't concern itself converting absolute to effective saturations and vince versa. More...
#include <dumux/material/fluidmatrixinteractions/3p/regularizedparkervangen3p.hh>
Implementation of the regularized van Genuchten's capillary pressure <-> saturation relation. This class bundles the "raw" curves as static members and doesn't concern itself converting absolute to effective saturations and vince versa.
In order to avoid very steep gradients the marginal values are "regularized". This means that in stead of following the curve of the material law in these regions, some linear approximation is used. Doing this is not worse than following the material law. E.g. for very low wetting phase values the material laws predict infinite values for \mathrm{p_c} which is completely unphysical. In case of very high wetting phase saturations the difference between regularized and "pure" material law is not big.
Regularizing has the additional benefit of being numerically friendly: Newton's method does not like infinite gradients.
The implementation is accomplished as follows:
check whether we are in the range of regularization
For an example figure of the regularization: RegularizedVanGenuchten
Public Types | |
using | Params = ParamsT |
using | Scalar = typename Params::Scalar |
Static Public Member Functions | |
static Scalar | pc (const Params ¶ms, Scalar sw) |
A regularized Parker- van Genuchten capillary pressure-saturation curve. More... | |
static Scalar | pcgw (const Params ¶ms, Scalar swe) |
The capillary pressure-saturation curve for the gas and wetting phase. More... | |
static Scalar | pcnw (const Params ¶ms, Scalar swe) |
The capillary pressure-saturation curve for the non-wettigng and wetting phase. More... | |
static Scalar | pcgn (const Params ¶ms, Scalar ste) |
The capillary pressure-saturation curve for the gas and non-wetting phase. More... | |
static Scalar | pcAlpha (const Params ¶ms, Scalar sne) |
This function ensures a continuous transition from 2 to 3 phases and vice versa. More... | |
static Scalar | sw (const Params ¶ms, Scalar pc) |
The saturation-capillary pressure curve. More... | |
static Scalar | dpc_dswe (const Params ¶ms, Scalar swe) |
Returns the partial derivative of the capillary pressure to the effective saturation. More... | |
static Scalar | dswe_dpc (const Params ¶ms, Scalar pc) |
Returns the partial derivative of the effective saturation to the capillary pressure. More... | |
static Scalar | krw (const Params ¶ms, const Scalar swe) |
The relative permeability for the wetting phase of the medium implied by van Genuchten's parameterization. More... | |
static Scalar | krn (const Params ¶ms, Scalar swe, Scalar sn, Scalar ste) |
The relative permeability for the non-wetting phase after the Model of Parker et al. (1987). More... | |
static Scalar | krg (const Params ¶ms, const Scalar ste) |
The relative permeability for the non-wetting phase of the medium implied by van Genuchten's parameterization. More... | |
static Scalar | kr (const Params ¶ms, const int phaseIdx, const Scalar swe, const Scalar sn, const Scalar ste) |
The relative permeability for a phase. More... | |
static Scalar | bulkDensTimesAdsorpCoeff (const Params ¶ms) |
the basis for calculating adsorbed NAPL in storage term More... | |
using Dumux::RegularizedParkerVanGen3P< ScalarT, ParamsT >::Params = ParamsT |
using Dumux::RegularizedParkerVanGen3P< ScalarT, ParamsT >::Scalar = typename Params::Scalar |
|
inlinestatic |
the basis for calculating adsorbed NAPL in storage term
params | Array of parameters |
|
inlinestatic |
Returns the partial derivative of the capillary pressure to the effective saturation.
params | Array of parameters |
swe | Effective wetting liquid saturation |
|
inlinestatic |
Returns the partial derivative of the effective saturation to the capillary pressure.
params | Array of parameters |
pc | Capillary pressure in \mathrm{[Pa]} |
|
inlinestatic |
The relative permeability for a phase.
params | Array of parameters. |
phaseIdx | Indicator, The saturation of all phases. |
swe | Effective wetting phase saturation |
sn | Absolute non-wetting liquid saturation |
ste | Effective total liquid (wetting + non-wetting) saturation |
|
inlinestatic |
The relative permeability for the non-wetting phase of the medium implied by van Genuchten's parameterization.
The permeability of gas in a 3p system equals the standard 2p description. (see p61. in "Comparison of the Three-Phase Oil Relative Permeability Models" MOJDEH DELSHAD and GARY A. POPE, Transport in Porous Media 4 (1989), 59-83.)
params | Array of parameters. |
ste | Effective total liquid (wetting + non-wetting) saturation |
|
inlinestatic |
The relative permeability for the non-wetting phase after the Model of Parker et al. (1987).
See model 7 in "Comparison of the Three-Phase Oil Relative Permeability Models" MOJDEH DELSHAD and GARY A. POPE, Transport in Porous Media 4 (1989), 59-83. or more comprehensive in "Estimation of primary drainage three-phase relative permeability for organic liquid transport in the vadose zone", Leonardo I. Oliveira, Avery H. Demond, Journal of Contaminant Hydrology 66 (2003), 261-285
params | Array of parameters. |
swe | Effective wetting phase saturation |
sn | Absolute non-wetting liquid saturation |
ste | Effective total liquid (wetting + non-wetting) saturation |
|
inlinestatic |
The relative permeability for the wetting phase of the medium implied by van Genuchten's parameterization.
The permeability of water in a 3p system equals the standard 2p description. (see p61. in "Comparison of the Three-Phase Oil Relative Permeability Models" MOJDEH DELSHAD and GARY A. POPE, Transport in Porous Media 4 (1989), 59-83.)
params | Array of parameters. |
swe | Effective wetting phase saturation |
|
inlinestatic |
A regularized Parker- van Genuchten capillary pressure-saturation curve.
regularized part:
For the non-regularized part:
params | Array of parameters |
sw | wetting phase saturation |
|
inlinestatic |
This function ensures a continuous transition from 2 to 3 phases and vice versa.
params | Array of parameters |
sne | Effective non-wetting liquid saturation |
|
inlinestatic |
The capillary pressure-saturation curve for the gas and non-wetting phase.
params | Array of parameters |
ste | Effective total liquid (wetting + non-wetting) saturation |
|
inlinestatic |
The capillary pressure-saturation curve for the gas and wetting phase.
params | Array of parameters |
swe | Effective wetting phase saturation |
|
inlinestatic |
The capillary pressure-saturation curve for the non-wettigng and wetting phase.
params | Array of parameters |
swe | Effective wetting phase saturation |
|
inlinestatic |
The saturation-capillary pressure curve.
params | Array of parameters |
pc | Capillary pressure in \mathrm{[Pa]} |