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>

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
  fluidState | The fluid state

## krg()

template<class TraitsT, class ParamsT = ThreePhaseParkerVanGenuchtenParams<TraitsT>>
template<class FluidState, class Evaluation = typename FluidState::Scalar>

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

## krn()

template<class TraitsT, class ParamsT = ThreePhaseParkerVanGenuchtenParams<TraitsT>>
template<class FluidState, class Evaluation = typename FluidState::Scalar>

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

## krw()

template<class TraitsT, class ParamsT = ThreePhaseParkerVanGenuchtenParams<TraitsT>>
template<class FluidState, class Evaluation = typename FluidState::Scalar>

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

## pcgn()

template<class TraitsT, class ParamsT = ThreePhaseParkerVanGenuchtenParams<TraitsT>>
template<class FluidState, class Evaluation = typename FluidState::Scalar>

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

## pcnw()

template<class TraitsT, class ParamsT = ThreePhaseParkerVanGenuchtenParams<TraitsT>>
template<class FluidState, class Evaluation = typename FluidState::Scalar>

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

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

- opm/material/fluidmatrixinteractions/ThreePhaseParkerVanGenuchten.hpp