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>

List of all members.

Public Types

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

Public Member Functions

 static_assert (TraitsT::numPhases==3,"The number of phases considered by this capillary pressure ""law is always three!")

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

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 
) [inline, static]

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:
values Container for the return values
params Parameters
state The fluid state
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 
) [inline, static]

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.)

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 
) [inline, static]

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

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 
) [inline, static]

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.)

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 
) [inline, static]

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 \]

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 
) [inline, static]

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:

Generated on 25 Mar 2018 by  doxygen 1.6.1