3.3.0
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
Classes | Static Public Member Functions | List of all members
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. More...

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

Description

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.

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

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.

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

Returns the partial derivative of the capillary pressure to the effective saturation.

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

Returns the partial derivative of the capillary pressure to the effective saturation.

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

Returns the partial derivative of the capillary pressure to the effective saturation.

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

The relative permeability for a phase.

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 relative permeability for the nonwetting 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.) [18]

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

The relative permeability for the nonwetting 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 [18]
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 [49]

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

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

Construct from a subgroup from the global parameter tree.

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

This function ensures a continuous transition from 2 to 3 phases and vice versa.

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

The capillary pressure-saturation curve for the gas and nonwetting phase.

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

The capillary pressure-saturation curve for the gas and wetting phase.

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

The capillary pressure-saturation curve for the non-wettigng and wetting phase.

Parameters
paramsArray of parameters
sweEffective wetting phase saturation

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