My Project
Loading...
Searching...
No Matches
Opm::ThreePhaseParkerVanGenuchten< TraitsT, ParamsT > Class Template Reference

Implementation of three-phase capillary pressure and relative permeability relations proposed by Parker and van Genuchten. More...

#include <ThreePhaseParkerVanGenuchten.hpp>

Public Types

typedef TraitsT Traits
 
typedef ParamsT Params
 
typedef Traits::Scalar Scalar
 

Static Public Member Functions

template<class ContainerT , class FluidState >
static void capillaryPressures (ContainerT &values, const Params &params, const FluidState &fluidState)
 Implements the three phase capillary pressure law proposed by Parker and van Genuchten.
 
template<class FluidState , class Evaluation = typename FluidState::Scalar>
static Evaluation pcgn (const Params &params, const FluidState &fluidState)
 Capillary pressure between the gas and the non-wetting liquid (i.e., oil) phase.
 
template<class FluidState , class Evaluation = typename FluidState::Scalar>
static Evaluation pcnw (const Params &params, const FluidState &fluidState)
 Capillary pressure between the non-wetting liquid (i.e., oil) and the wetting liquid (i.e., water) phase.
 
template<class ContainerT , class FluidState >
static void saturations (ContainerT &, const Params &, const FluidState &)
 The saturation-capillary pressure curve.
 
template<class FluidState , class Evaluation = typename FluidState::Scalar>
static Evaluation Sg (const Params &, const FluidState &)
 The saturation of the gas phase.
 
template<class FluidState , class Evaluation = typename FluidState::Scalar>
static Evaluation Sn (const Params &, const FluidState &)
 The saturation of the non-wetting (i.e., oil) phase.
 
template<class FluidState , class Evaluation = typename FluidState::Scalar>
static Evaluation Sw (const Params &, const FluidState &)
 The saturation of the wetting (i.e., water) phase.
 
template<class ContainerT , class FluidState >
static void relativePermeabilities (ContainerT &values, const Params &params, const FluidState &fluidState)
 The relative permeability of all phases.
 
template<class FluidState , class Evaluation = typename FluidState::Scalar>
static Evaluation krw (const Params &params, const FluidState &fluidState)
 The relative permeability for the wetting phase of the medium implied by van Genuchten's parameterization.
 
template<class FluidState , class Evaluation = typename FluidState::Scalar>
static Evaluation krn (const Params &params, const FluidState &fluidState)
 The relative permeability for the non-wetting phase due to the model of Parker et al.
 
template<class FluidState , class Evaluation = typename FluidState::Scalar>
static Evaluation krg (const Params &params, const FluidState &fluidState)
 The relative permeability for the non-wetting phase of the medium implied by van Genuchten's parameterization.
 

Static Public Attributes

static const int numPhases = 3
 
static const int wettingPhaseIdx = Traits::wettingPhaseIdx
 
static const int nonWettingPhaseIdx = Traits::nonWettingPhaseIdx
 
static const int gasPhaseIdx = Traits::gasPhaseIdx
 
static const bool implementsTwoPhaseApi = false
 Specify whether this material law implements the two-phase convenience API.
 
static const bool implementsTwoPhaseSatApi = false
 Specify whether this material law implements the two-phase convenience API which only depends on the phase saturations.
 
static const bool isSaturationDependent = true
 Specify whether the quantities defined by this material law are saturation dependent.
 
static const bool isPressureDependent = false
 Specify whether the quantities defined by this material law are dependent on the absolute pressure.
 
static const bool isTemperatureDependent = false
 Specify whether the quantities defined by this material law are temperature dependent.
 
static const bool isCompositionDependent = false
 Specify whether the quantities defined by this material law are dependent on the phase composition.
 

Detailed Description

template<class TraitsT, class ParamsT = ThreePhaseParkerVanGenuchtenParams<TraitsT>>
class Opm::ThreePhaseParkerVanGenuchten< TraitsT, ParamsT >

Implementation of three-phase capillary pressure and relative permeability relations proposed by Parker and van Genuchten.

Reference: J.B. Kool, J.C. Parker, M.Th. van Genuchten: Parameter Estimation for Unsaturated Flow and Transport Models – A Review; Journal of Hydrology, 91 (1987) 255-293

Member Function Documentation

◆ capillaryPressures()

template<class TraitsT , class ParamsT = ThreePhaseParkerVanGenuchtenParams<TraitsT>>
template<class ContainerT , class FluidState >
static void Opm::ThreePhaseParkerVanGenuchten< TraitsT, ParamsT >::capillaryPressures ( ContainerT &  values,
const Params &  params,
const FluidState &  fluidState 
)
inlinestatic

Implements the three phase capillary pressure law proposed by Parker and van Genuchten.

This material law is valid for three fluid phases and only depends on the saturations.

Parameters
valuesContainer for the return values
paramsParameters
stateThe fluid state

◆ krg()

template<class TraitsT , class ParamsT = ThreePhaseParkerVanGenuchtenParams<TraitsT>>
template<class FluidState , class Evaluation = typename FluidState::Scalar>
static Evaluation Opm::ThreePhaseParkerVanGenuchten< TraitsT, ParamsT >::krg ( const Params &  params,
const FluidState &  fluidState 
)
inlinestatic

The relative permeability for the non-wetting phase of the medium implied by van Genuchten's parameterization.

The permeability of gas in a three-phase system equals the standard two-phase description. (see p61. of "Comparison of the Three-Phase Oil Relative Permeability Models" M. Delshad and G. A. Pope, Transport in Porous Media 4 (1989), 59-83.)

◆ krn()

template<class TraitsT , class ParamsT = ThreePhaseParkerVanGenuchtenParams<TraitsT>>
template<class FluidState , class Evaluation = typename FluidState::Scalar>
static Evaluation Opm::ThreePhaseParkerVanGenuchten< TraitsT, ParamsT >::krn ( const Params &  params,
const FluidState &  fluidState 
)
inlinestatic

The relative permeability for the non-wetting phase due to the model of Parker et al.

(1987).

See model 7 of "Comparison of the Three-Phase Oil Relative Permeability Models" M. Delshad and G. A. Pope, Transport in Porous Media 4 (1989), 59-83; or – more comprehensively – "Estimation of primary drainage three-phase relative permeability for organic liquid transport in the vadose zone", L. I. Oliveira, A. H. Demond, Journal of Contaminant Hydrology 66 (2003), 261-285

◆ krw()

template<class TraitsT , class ParamsT = ThreePhaseParkerVanGenuchtenParams<TraitsT>>
template<class FluidState , class Evaluation = typename FluidState::Scalar>
static Evaluation Opm::ThreePhaseParkerVanGenuchten< TraitsT, ParamsT >::krw ( const Params &  params,
const FluidState &  fluidState 
)
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.)

◆ pcgn()

template<class TraitsT , class ParamsT = ThreePhaseParkerVanGenuchtenParams<TraitsT>>
template<class FluidState , class Evaluation = typename FluidState::Scalar>
static Evaluation Opm::ThreePhaseParkerVanGenuchten< TraitsT, ParamsT >::pcgn ( const Params &  params,
const FluidState &  fluidState 
)
inlinestatic

Capillary pressure between the gas and the non-wetting liquid (i.e., oil) phase.

This is defined as

\[
p_{c,gn} = p_g - p_n
\]

◆ pcnw()

template<class TraitsT , class ParamsT = ThreePhaseParkerVanGenuchtenParams<TraitsT>>
template<class FluidState , class Evaluation = typename FluidState::Scalar>
static Evaluation Opm::ThreePhaseParkerVanGenuchten< TraitsT, ParamsT >::pcnw ( const Params &  params,
const FluidState &  fluidState 
)
inlinestatic

Capillary pressure between the non-wetting liquid (i.e., oil) and the wetting liquid (i.e., water) phase.

This is defined as

\[
p_{c,nw} = p_n - p_w
\]


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