Opm::ParkerLenhard< TraitsT, ParamsT > Class Template Reference

Implements the Parker-Lenhard twophase p_c-Sw hysteresis model. This class adheres to the twophase capillary pressure API. More...

#include <ParkerLenhard.hpp>

Inheritance diagram for Opm::ParkerLenhard< TraitsT, ParamsT >:
Inheritance graph

Public Types

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

Static Public Member Functions

static void reset (Params &params)
 Resets the hysteresis model to the initial parameters on the main drainage curve. More...
 
template<class FluidState >
static void update (Params &params, const FluidState &fs)
 Set the current absolute saturation for the current timestep. More...
 
template<class Container , class FluidState >
static void capillaryPressures (Container &values, const Params &params, const FluidState &fs)
 Returns the capillary pressure dependening on the phase saturations. More...
 
template<class Container , class FluidState >
static void saturations (Container &, const Params &, const FluidState &)
 Returns the capillary pressure dependening on the phase saturations. More...
 
template<class Container , class FluidState >
static void relativePermeabilities (Container &values, const Params &params, const FluidState &fs)
 Returns the relative permeabilities of the phases dependening on the phase saturations. More...
 
template<class FluidState , class Evaluation = typename FluidState::Scalar>
static Evaluation pcnw (const Params &params, const FluidState &fs)
 Returns the capillary pressure dependend on the phase saturations. More...
 
template<class Evaluation >
static Evaluation twoPhaseSatPcnw (const Params &params, const Evaluation &Sw)
 
template<class FluidState , class Evaluation = typename FluidState::Scalar>
static Evaluation Sw (const Params &, const FluidState &)
 Calculate the wetting phase saturations depending on the phase pressures. More...
 
template<class Evaluation >
static Evaluation twoPhaseSatSw (const Params &, const Evaluation &)
 
template<class FluidState , class Evaluation = typename FluidState::Scalar>
static Evaluation Sn (const Params &params, const FluidState &fs)
 Calculate the non-wetting phase saturations depending on the phase pressures. More...
 
template<class Evaluation >
static Evaluation twoPhaseSatSn (const Params &, const Evaluation &)
 
template<class FluidState , class Evaluation = typename FluidState::Scalar>
static Evaluation krw (const Params &params, const FluidState &fs)
 The relative permeability for the wetting phase of the medium. More...
 
template<class Evaluation >
static Evaluation twoPhaseSatKrw (const Params &params, const Evaluation &Sw)
 
template<class FluidState , class Evaluation = typename FluidState::Scalar>
static Evaluation krn (const Params &params, const FluidState &fs)
 The relative permeability for the non-wetting phase of the params. More...
 
template<class Evaluation >
static Evaluation twoPhaseSatKrn (const Params &params, const Evaluation &Sw)
 
template<class Evaluation >
static Evaluation absoluteToApparentSw_ (const Params &params, const Evaluation &Sw)
 Convert an absolute wetting saturation to an apparent one. More...
 

Static Public Attributes

static const int numPhases = Traits::numPhases
 The number of fluid phases. More...
 
static const bool implementsTwoPhaseApi = true
 
static const bool implementsTwoPhaseSatApi = true
 
static const bool isSaturationDependent = true
 
static const bool isPressureDependent = false
 
static const bool isTemperatureDependent = false
 
static const bool isCompositionDependent = false
 

Detailed Description

template<class TraitsT, class ParamsT = ParkerLenhardParams<TraitsT>>
class Opm::ParkerLenhard< TraitsT, ParamsT >

Implements the Parker-Lenhard twophase p_c-Sw hysteresis model. This class adheres to the twophase capillary pressure API.

Member Typedef Documentation

◆ Params

template<class TraitsT , class ParamsT = ParkerLenhardParams<TraitsT>>
typedef ParamsT Opm::ParkerLenhard< TraitsT, ParamsT >::Params

◆ Scalar

template<class TraitsT , class ParamsT = ParkerLenhardParams<TraitsT>>
typedef Traits::Scalar Opm::ParkerLenhard< TraitsT, ParamsT >::Scalar

◆ Traits

template<class TraitsT , class ParamsT = ParkerLenhardParams<TraitsT>>
typedef TraitsT Opm::ParkerLenhard< TraitsT, ParamsT >::Traits

Member Function Documentation

◆ absoluteToApparentSw_()

template<class TraitsT , class ParamsT = ParkerLenhardParams<TraitsT>>
template<class Evaluation >
static Evaluation Opm::ParkerLenhard< TraitsT, ParamsT >::absoluteToApparentSw_ ( const Params params,
const Evaluation &  Sw 
)
inlinestatic

◆ capillaryPressures()

template<class TraitsT , class ParamsT = ParkerLenhardParams<TraitsT>>
template<class Container , class FluidState >
static void Opm::ParkerLenhard< TraitsT, ParamsT >::capillaryPressures ( Container &  values,
const Params params,
const FluidState &  fs 
)
inlinestatic

Returns the capillary pressure dependening on the phase saturations.

◆ krn()

template<class TraitsT , class ParamsT = ParkerLenhardParams<TraitsT>>
template<class FluidState , class Evaluation = typename FluidState::Scalar>
static Evaluation Opm::ParkerLenhard< TraitsT, ParamsT >::krn ( const Params params,
const FluidState &  fs 
)
inlinestatic

The relative permeability for the non-wetting phase of the params.

References Opm::ParkerLenhard< TraitsT, ParamsT >::Sw(), and Opm::ParkerLenhard< TraitsT, ParamsT >::twoPhaseSatKrn().

◆ krw()

template<class TraitsT , class ParamsT = ParkerLenhardParams<TraitsT>>
template<class FluidState , class Evaluation = typename FluidState::Scalar>
static Evaluation Opm::ParkerLenhard< TraitsT, ParamsT >::krw ( const Params params,
const FluidState &  fs 
)
inlinestatic

The relative permeability for the wetting phase of the medium.

References Opm::ParkerLenhard< TraitsT, ParamsT >::Sw(), and Opm::ParkerLenhard< TraitsT, ParamsT >::twoPhaseSatKrw().

◆ pcnw()

template<class TraitsT , class ParamsT = ParkerLenhardParams<TraitsT>>
template<class FluidState , class Evaluation = typename FluidState::Scalar>
static Evaluation Opm::ParkerLenhard< TraitsT, ParamsT >::pcnw ( const Params params,
const FluidState &  fs 
)
inlinestatic

Returns the capillary pressure dependend on the phase saturations.

References Opm::ParkerLenhard< TraitsT, ParamsT >::Sw(), and Opm::ParkerLenhard< TraitsT, ParamsT >::twoPhaseSatPcnw().

◆ relativePermeabilities()

template<class TraitsT , class ParamsT = ParkerLenhardParams<TraitsT>>
template<class Container , class FluidState >
static void Opm::ParkerLenhard< TraitsT, ParamsT >::relativePermeabilities ( Container &  values,
const Params params,
const FluidState &  fs 
)
inlinestatic

Returns the relative permeabilities of the phases dependening on the phase saturations.

◆ reset()

template<class TraitsT , class ParamsT = ParkerLenhardParams<TraitsT>>
static void Opm::ParkerLenhard< TraitsT, ParamsT >::reset ( Params params)
inlinestatic

Resets the hysteresis model to the initial parameters on the main drainage curve.

Referenced by Opm::ParkerLenhard< TraitsT, ParamsT >::update().

◆ saturations()

template<class TraitsT , class ParamsT = ParkerLenhardParams<TraitsT>>
template<class Container , class FluidState >
static void Opm::ParkerLenhard< TraitsT, ParamsT >::saturations ( Container &  ,
const Params ,
const FluidState &   
)
inlinestatic

Returns the capillary pressure dependening on the phase saturations.

◆ Sn()

template<class TraitsT , class ParamsT = ParkerLenhardParams<TraitsT>>
template<class FluidState , class Evaluation = typename FluidState::Scalar>
static Evaluation Opm::ParkerLenhard< TraitsT, ParamsT >::Sn ( const Params params,
const FluidState &  fs 
)
inlinestatic

Calculate the non-wetting phase saturations depending on the phase pressures.

◆ Sw()

template<class TraitsT , class ParamsT = ParkerLenhardParams<TraitsT>>
template<class FluidState , class Evaluation = typename FluidState::Scalar>
static Evaluation Opm::ParkerLenhard< TraitsT, ParamsT >::Sw ( const Params ,
const FluidState &   
)
inlinestatic

◆ twoPhaseSatKrn()

template<class TraitsT , class ParamsT = ParkerLenhardParams<TraitsT>>
template<class Evaluation >
static Evaluation Opm::ParkerLenhard< TraitsT, ParamsT >::twoPhaseSatKrn ( const Params params,
const Evaluation &  Sw 
)
inlinestatic

◆ twoPhaseSatKrw()

template<class TraitsT , class ParamsT = ParkerLenhardParams<TraitsT>>
template<class Evaluation >
static Evaluation Opm::ParkerLenhard< TraitsT, ParamsT >::twoPhaseSatKrw ( const Params params,
const Evaluation &  Sw 
)
inlinestatic

◆ twoPhaseSatPcnw()

◆ twoPhaseSatSn()

template<class TraitsT , class ParamsT = ParkerLenhardParams<TraitsT>>
template<class Evaluation >
static Evaluation Opm::ParkerLenhard< TraitsT, ParamsT >::twoPhaseSatSn ( const Params ,
const Evaluation &   
)
inlinestatic

◆ twoPhaseSatSw()

template<class TraitsT , class ParamsT = ParkerLenhardParams<TraitsT>>
template<class Evaluation >
static Evaluation Opm::ParkerLenhard< TraitsT, ParamsT >::twoPhaseSatSw ( const Params ,
const Evaluation &   
)
inlinestatic

◆ update()

template<class TraitsT , class ParamsT = ParkerLenhardParams<TraitsT>>
template<class FluidState >
static void Opm::ParkerLenhard< TraitsT, ParamsT >::update ( Params params,
const FluidState &  fs 
)
inlinestatic

Member Data Documentation

◆ implementsTwoPhaseApi

template<class TraitsT , class ParamsT = ParkerLenhardParams<TraitsT>>
const bool Opm::ParkerLenhard< TraitsT, ParamsT >::implementsTwoPhaseApi = true
static

Specify whether this material law implements the two-phase convenience API

◆ implementsTwoPhaseSatApi

template<class TraitsT , class ParamsT = ParkerLenhardParams<TraitsT>>
const bool Opm::ParkerLenhard< TraitsT, ParamsT >::implementsTwoPhaseSatApi = true
static

Specify whether this material law implements the two-phase convenience API which only depends on the phase saturations

◆ isCompositionDependent

template<class TraitsT , class ParamsT = ParkerLenhardParams<TraitsT>>
const bool Opm::ParkerLenhard< TraitsT, ParamsT >::isCompositionDependent = false
static

Specify whether the quantities defined by this material law are dependent on the phase composition

◆ isPressureDependent

template<class TraitsT , class ParamsT = ParkerLenhardParams<TraitsT>>
const bool Opm::ParkerLenhard< TraitsT, ParamsT >::isPressureDependent = false
static

Specify whether the quantities defined by this material law are dependent on the absolute pressure

◆ isSaturationDependent

template<class TraitsT , class ParamsT = ParkerLenhardParams<TraitsT>>
const bool Opm::ParkerLenhard< TraitsT, ParamsT >::isSaturationDependent = true
static

Specify whether the quantities defined by this material law are saturation dependent

◆ isTemperatureDependent

template<class TraitsT , class ParamsT = ParkerLenhardParams<TraitsT>>
const bool Opm::ParkerLenhard< TraitsT, ParamsT >::isTemperatureDependent = false
static

Specify whether the quantities defined by this material law are temperature dependent

◆ numPhases

template<class TraitsT , class ParamsT = ParkerLenhardParams<TraitsT>>
const int Opm::ParkerLenhard< TraitsT, ParamsT >::numPhases = Traits::numPhases
static

The number of fluid phases.


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