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

Implementation of the Brooks-Corey capillary pressure <-> saturation relation. More...

#include <BrooksCorey.hpp>

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

Public Types

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

Static Public Member Functions

template<class Container , class FluidState >
static void capillaryPressures (Container &values, const Params &params, const FluidState &fs)
 The capillary pressure-saturation curves. More...
 
template<class Container , class FluidState >
static void saturations (Container &values, const Params &params, const FluidState &fs)
 Calculate the saturations of the phases starting from their pressure differences. More...
 
template<class Container , class FluidState >
static void relativePermeabilities (Container &values, const Params &params, const FluidState &fs)
 The relative permeability-saturation curves. More...
 
template<class FluidState , class Evaluation = typename FluidState::Scalar>
static Evaluation pcnw (const Params &params, const FluidState &fs)
 The capillary pressure-saturation curve according to Brooks and Corey. More...
 
template<class Evaluation >
static Evaluation twoPhaseSatPcnw (const Params &params, const Evaluation &Sw)
 
template<class Evaluation >
static Evaluation twoPhaseSatPcnwInv (const Params &params, const Evaluation &pcnw)
 
template<class FluidState , class Evaluation = typename FluidState::Scalar>
static Evaluation Sw (const Params &params, const FluidState &fs)
 The saturation-capillary pressure curve according to Brooks & Corey. More...
 
template<class Evaluation >
static Evaluation twoPhaseSatSw (const Params &params, const Evaluation &pc)
 
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 &params, const Evaluation &pc)
 
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 implied by the Brooks-Corey parameterization. More...
 
template<class Evaluation >
static Evaluation twoPhaseSatKrw (const Params &params, const Evaluation &Sw)
 
template<class Evaluation >
static Evaluation twoPhaseSatKrwInv (const Params &params, const Evaluation &krw)
 
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 medium as implied by the Brooks-Corey parameterization. More...
 
template<class Evaluation >
static Evaluation twoPhaseSatKrn (const Params &params, const Evaluation &Sw)
 
template<class Evaluation >
static Evaluation twoPhaseSatKrnInv (const Params &params, const Evaluation &krn)
 

Static Public Attributes

static const int numPhases = Traits::numPhases
 The number of fluid phases to which this material law applies. 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 = BrooksCoreyParams<TraitsT>>
class Opm::BrooksCorey< TraitsT, ParamsT >

Implementation of the Brooks-Corey capillary pressure <-> saturation relation.

This class provides the "raw" curves as static members and doesn't concern itself converting absolute to effective saturations and vice versa.

See also
BrooksCoreyParams

Member Typedef Documentation

◆ Params

template<class TraitsT , class ParamsT = BrooksCoreyParams<TraitsT>>
typedef ParamsT Opm::BrooksCorey< TraitsT, ParamsT >::Params

◆ Scalar

template<class TraitsT , class ParamsT = BrooksCoreyParams<TraitsT>>
typedef Traits::Scalar Opm::BrooksCorey< TraitsT, ParamsT >::Scalar

◆ Traits

template<class TraitsT , class ParamsT = BrooksCoreyParams<TraitsT>>
typedef TraitsT Opm::BrooksCorey< TraitsT, ParamsT >::Traits

Member Function Documentation

◆ capillaryPressures()

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

The capillary pressure-saturation curves.

◆ krn()

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

The relative permeability for the non-wetting phase of the medium as implied by the Brooks-Corey parameterization.

Parameters
paramsThe parameters of the capillary pressure curve (for Brooks-Corey: Entry pressure and shape factor)

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

Referenced by Opm::BrooksCorey< TraitsT, ParamsT >::twoPhaseSatKrnInv().

◆ krw()

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

The relative permeability for the wetting phase of the medium implied by the Brooks-Corey parameterization.

Parameters
paramsThe parameters of the capillary pressure curve (for Brooks-Corey: Entry pressure and shape factor)

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

Referenced by Opm::BrooksCorey< TraitsT, ParamsT >::twoPhaseSatKrwInv().

◆ pcnw()

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

The capillary pressure-saturation curve according to Brooks and Corey.

The empirical Brooks-Corey capillary pressure-saturation function is defined as

\[
p_C = p_e\overline{S}_w^{-1/\lambda}
\]

Parameters
paramsThe parameters of the capillary pressure curve (for Brooks-Corey: Entry pressure and shape factor)

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

Referenced by Opm::BrooksCorey< TraitsT, ParamsT >::twoPhaseSatPcnwInv().

◆ relativePermeabilities()

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

The relative permeability-saturation curves.

Parameters
valuesA random access container which stores the relative permeability of each fluid phase.
paramsThe parameter object expressing the coefficients required by the material law.
fsThe fluid state for which the relative permeabilities ought to be calculated

◆ saturations()

template<class TraitsT , class ParamsT = BrooksCoreyParams<TraitsT>>
template<class Container , class FluidState >
static void Opm::BrooksCorey< TraitsT, ParamsT >::saturations ( Container &  values,
const Params params,
const FluidState &  fs 
)
inlinestatic

Calculate the saturations of the phases starting from their pressure differences.

◆ Sn()

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

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

Referenced by Opm::BrooksCorey< TraitsT, ParamsT >::twoPhaseSatKrn().

◆ Sw()

template<class TraitsT , class ParamsT = BrooksCoreyParams<TraitsT>>
template<class FluidState , class Evaluation = typename FluidState::Scalar>
static Evaluation Opm::BrooksCorey< TraitsT, ParamsT >::Sw ( const Params params,
const FluidState &  fs 
)
inlinestatic

The saturation-capillary pressure curve according to Brooks & Corey.

This is the inverse of the capillary pressure-saturation curve:

\[
\overline{S}_w = (\frac{p_C}{p_e})^{-\lambda}
\]

Parameters
paramsThe parameters of the capillary pressure curve (for Brooks-Corey: Entry pressure and shape factor)

References Opm::BrooksCorey< TraitsT, ParamsT >::twoPhaseSatSw().

Referenced by Opm::BrooksCorey< TraitsT, ParamsT >::krn(), Opm::BrooksCorey< TraitsT, ParamsT >::krw(), Opm::BrooksCorey< TraitsT, ParamsT >::pcnw(), Opm::BrooksCorey< TraitsT, ParamsT >::twoPhaseSatKrn(), Opm::BrooksCorey< TraitsT, ParamsT >::twoPhaseSatKrnInv(), Opm::BrooksCorey< TraitsT, ParamsT >::twoPhaseSatKrw(), and Opm::BrooksCorey< TraitsT, ParamsT >::twoPhaseSatPcnw().

◆ twoPhaseSatKrn()

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

◆ twoPhaseSatKrnInv()

template<class TraitsT , class ParamsT = BrooksCoreyParams<TraitsT>>
template<class Evaluation >
static Evaluation Opm::BrooksCorey< TraitsT, ParamsT >::twoPhaseSatKrnInv ( const Params params,
const Evaluation &  krn 
)
inlinestatic

◆ twoPhaseSatKrw()

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

◆ twoPhaseSatKrwInv()

template<class TraitsT , class ParamsT = BrooksCoreyParams<TraitsT>>
template<class Evaluation >
static Evaluation Opm::BrooksCorey< TraitsT, ParamsT >::twoPhaseSatKrwInv ( const Params params,
const Evaluation &  krw 
)
inlinestatic

◆ twoPhaseSatPcnw()

template<class TraitsT , class ParamsT = BrooksCoreyParams<TraitsT>>
template<class Evaluation >
static Evaluation Opm::BrooksCorey< TraitsT, ParamsT >::twoPhaseSatPcnw ( const Params params,
const Evaluation &  Sw 
)
inlinestatic

◆ twoPhaseSatPcnwInv()

template<class TraitsT , class ParamsT = BrooksCoreyParams<TraitsT>>
template<class Evaluation >
static Evaluation Opm::BrooksCorey< TraitsT, ParamsT >::twoPhaseSatPcnwInv ( const Params params,
const Evaluation &  pcnw 
)
inlinestatic

◆ twoPhaseSatSn()

template<class TraitsT , class ParamsT = BrooksCoreyParams<TraitsT>>
template<class Evaluation >
static Evaluation Opm::BrooksCorey< TraitsT, ParamsT >::twoPhaseSatSn ( const Params params,
const Evaluation &  pc 
)
inlinestatic

◆ twoPhaseSatSw()

template<class TraitsT , class ParamsT = BrooksCoreyParams<TraitsT>>
template<class Evaluation >
static Evaluation Opm::BrooksCorey< TraitsT, ParamsT >::twoPhaseSatSw ( const Params params,
const Evaluation &  pc 
)
inlinestatic

Member Data Documentation

◆ implementsTwoPhaseApi

template<class TraitsT , class ParamsT = BrooksCoreyParams<TraitsT>>
const bool Opm::BrooksCorey< TraitsT, ParamsT >::implementsTwoPhaseApi = true
static

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

◆ implementsTwoPhaseSatApi

template<class TraitsT , class ParamsT = BrooksCoreyParams<TraitsT>>
const bool Opm::BrooksCorey< 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 = BrooksCoreyParams<TraitsT>>
const bool Opm::BrooksCorey< 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 = BrooksCoreyParams<TraitsT>>
const bool Opm::BrooksCorey< 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 = BrooksCoreyParams<TraitsT>>
const bool Opm::BrooksCorey< TraitsT, ParamsT >::isSaturationDependent = true
static

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

◆ isTemperatureDependent

template<class TraitsT , class ParamsT = BrooksCoreyParams<TraitsT>>
const bool Opm::BrooksCorey< TraitsT, ParamsT >::isTemperatureDependent = false
static

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

◆ numPhases

template<class TraitsT , class ParamsT = BrooksCoreyParams<TraitsT>>
const int Opm::BrooksCorey< TraitsT, ParamsT >::numPhases = Traits::numPhases
static

The number of fluid phases to which this material law applies.


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