version 3.9-dev
Dumux::FluidMatrix::ParkerVanGenuchten3P Class Reference

Implementation of Parker/vanGenuchten's capillary pressure <-> saturation relation for three phases. This class bundles the "raw" curves as static members and doesn't concern itself converting absolute to effective saturations and vince versa.

#include <dumux/material/fluidmatrixinteractions/3p/parkervangenuchten.hh>

Classes

struct  Params
 The parameter type. More...
 

Static Public Member Functions

template<class Scalar = double>
static Params< Scalar > makeParams (const std::string &paramGroup)
 Construct from a subgroup from the global parameter tree. More...
 
template<class Scalar >
static Scalar pcgw (Scalar swe, const Params< Scalar > &params)
 The capillary pressure-saturation curve for the gas and wetting phase. More...
 
template<class Scalar >
static Scalar pcnw (Scalar swe, const Params< Scalar > &params)
 The capillary pressure-saturation curve for the non-wettigng and wetting phase. More...
 
template<class Scalar >
static Scalar pcgn (const Scalar ste, const Params< Scalar > &params)
 The capillary pressure-saturation curve for the gas and nonwetting phase. More...
 
template<class Scalar >
static Scalar pcAlpha (Scalar sne, const Params< Scalar > &params)
 This function ensures a continuous transition from 2 to 3 phases and vice versa. More...
 
template<class Scalar >
static Scalar dpcgw_dswe (const Scalar swe, const Params< Scalar > &params)
 Returns the partial derivative of the capillary pressure to the effective saturation. More...
 
template<class Scalar >
static Scalar dpcnw_dswe (const Scalar swe, const Params< Scalar > &params)
 Returns the partial derivative of the capillary pressure to the effective saturation. More...
 
template<class Scalar >
static Scalar dpcgn_dste (const Scalar ste, const Params< Scalar > &params)
 Returns the partial derivative of the capillary pressure to the effective saturation. More...
 
template<class Scalar >
static Scalar krw (const Scalar swe, const Params< Scalar > &params)
 The relative permeability for the wetting phase of the medium implied by van Genuchten's parameterization. More...
 
template<class Scalar >
static Scalar krn (const Scalar swe, const Scalar sn, const Scalar ste, const Params< Scalar > &params)
 The relative permeability for the nonwetting phase after the Model of Parker et al. (1987). More...
 
template<class Scalar >
static Scalar krg (const Scalar ste, const Params< Scalar > &params)
 The relative permeability for the nonwetting phase of the medium implied by van Genuchten's parameterization. More...
 
template<class Scalar >
static Scalar dkrg_dste (const Scalar ste, const Params< Scalar > &params)
 The derivative of the relative permeability for the gas phase in regard to the total liquid saturation of the medium as implied by the van Genuchten parameterization. More...
 
template<class Scalar >
static Scalar kr (const int phaseIdx, const Scalar swe, const Scalar sne, const Params< Scalar > &params)
 The relative permeability for a phase. More...
 

Member Function Documentation

◆ dkrg_dste()

template<class Scalar >
static Scalar Dumux::FluidMatrix::ParkerVanGenuchten3P::dkrg_dste ( const Scalar  ste,
const Params< Scalar > &  params 
)
inlinestatic
Parameters
steThe mobile total liquid saturation.
paramsA container object that is populated with the appropriate coefficients for the respective law.

◆ dpcgn_dste()

template<class Scalar >
static Scalar Dumux::FluidMatrix::ParkerVanGenuchten3P::dpcgn_dste ( const Scalar  ste,
const Params< Scalar > &  params 
)
inlinestatic
Parameters
steEffective total liquid (wetting + nonwetting) saturation
paramsArray of parameters

◆ dpcgw_dswe()

template<class Scalar >
static Scalar Dumux::FluidMatrix::ParkerVanGenuchten3P::dpcgw_dswe ( const Scalar  swe,
const Params< Scalar > &  params 
)
inlinestatic
Parameters
sweEffective wetting phase saturation
paramsArray of parameters

◆ dpcnw_dswe()

template<class Scalar >
static Scalar Dumux::FluidMatrix::ParkerVanGenuchten3P::dpcnw_dswe ( const Scalar  swe,
const Params< Scalar > &  params 
)
inlinestatic
Parameters
sweEffective wetting phase saturation
paramsArray of parameters

◆ kr()

template<class Scalar >
static Scalar Dumux::FluidMatrix::ParkerVanGenuchten3P::kr ( const int  phaseIdx,
const Scalar  swe,
const Scalar  sne,
const Params< Scalar > &  params 
)
inlinestatic
Parameters
paramsArray of parameters.
phaseIdxIndicator, The saturation of all phases.
sweEffective wetting phase saturation
sneEffective nonwetting saturation

◆ krg()

template<class Scalar >
static Scalar Dumux::FluidMatrix::ParkerVanGenuchten3P::krg ( const Scalar  ste,
const Params< Scalar > &  params 
)
inlinestatic

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.) [25]

Parameters
paramsArray of parameters.
steEffective total liquid (wetting + nonwetting) saturation

◆ krn()

template<class Scalar >
static Scalar Dumux::FluidMatrix::ParkerVanGenuchten3P::krn ( const Scalar  swe,
const Scalar  sn,
const Scalar  ste,
const Params< Scalar > &  params 
)
inlinestatic

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 [25]
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 [61]

Parameters
paramsArray of parameters.
sweEffective wetting phase saturation
snAbsolute nonwetting liquid saturation
steEffective total liquid (wetting + nonwetting) saturation

◆ krw()

template<class Scalar >
static Scalar Dumux::FluidMatrix::ParkerVanGenuchten3P::krw ( const Scalar  swe,
const Params< Scalar > &  params 
)
inlinestatic

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.) [25]

Parameters
sweEffective wetting phase saturation
paramsArray of parameters.

◆ makeParams()

template<class Scalar = double>
static Params< Scalar > Dumux::FluidMatrix::ParkerVanGenuchten3P::makeParams ( const std::string &  paramGroup)
inlinestatic
Note
This will give you nice error messages if a mandatory parameter is missing

◆ pcAlpha()

template<class Scalar >
static Scalar Dumux::FluidMatrix::ParkerVanGenuchten3P::pcAlpha ( Scalar  sne,
const Params< Scalar > &  params 
)
inlinestatic
Parameters
paramsArray of parameters
sneNon-wetting liquid saturation

◆ pcgn()

template<class Scalar >
static Scalar Dumux::FluidMatrix::ParkerVanGenuchten3P::pcgn ( const Scalar  ste,
const Params< Scalar > &  params 
)
inlinestatic
Parameters
paramsArray of parameters
steEffective total liquid (wetting + nonwetting) saturation

◆ pcgw()

template<class Scalar >
static Scalar Dumux::FluidMatrix::ParkerVanGenuchten3P::pcgw ( Scalar  swe,
const Params< Scalar > &  params 
)
inlinestatic
Parameters
paramsArray of parameters
sweEffective wetting phase saturation

◆ pcnw()

template<class Scalar >
static Scalar Dumux::FluidMatrix::ParkerVanGenuchten3P::pcnw ( Scalar  swe,
const Params< Scalar > &  params 
)
inlinestatic
Parameters
paramsArray of parameters
sweEffective wetting phase saturation

The documentation for this class was generated from the following file: