Loading...
Searching...
No Matches
Opm::VanGenuchten< TraitsT, ParamsT > Class Template Reference

Implementation of the van Genuchten capillary pressure - saturation relation. More...

`#include <VanGenuchten.hpp>`

Inheritance diagram for Opm::VanGenuchten< TraitsT, ParamsT >:

## Public Types

typedef TraitsT | Traits
| The traits class for this material law.
typedef ParamsT | Params
| The type of the parameter objects for this law.
typedef Traits::Scalar | Scalar
| The type of the scalar values for this law.

## 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 according to van Genuchten.
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.
template<class Container , class FluidState >
static void | relativePermeabilities (Container &values, const Params &params, const FluidState &fs)
| The relative permeability-saturation curves according to van Genuchten.
template<class FluidState , class Evaluation = typename FluidState::Scalar>
static Evaluation | pcnw (const Params &params, const FluidState &fs)
| The capillary pressure-saturation curve according to van Genuchten.
template<class Evaluation >
static Evaluation | twoPhaseSatPcnw (const Params &params, const Evaluation &Sw)
| The saturation-capillary pressure curve according to van Genuchten using a material law specific API.
template<class FluidState , class Evaluation = typename FluidState::Scalar>
static Evaluation | Sw (const Params &params, const FluidState &fs)
| The saturation-capillary pressure curve according to van Genuchten.
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.
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 according to van Genuchten's curve with Mualem parameterization.
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 medium according to van Genuchten.
template<class Evaluation >
static Evaluation | twoPhaseSatKrn (const Params &params, Evaluation Sw)

## Static Public Attributes

static const int | numPhases = Traits::numPhases
| The number of fluid phases.
static const bool | implementsTwoPhaseApi = true
| Specify whether this material law implements the two-phase convenience API.
static const bool | implementsTwoPhaseSatApi = true
| 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 = VanGenuchtenParams<TraitsT>>
class Opm::VanGenuchten< TraitsT, ParamsT >

Implementation of the van Genuchten capillary pressure - saturation relation.

This class only implements the "raw" van-Genuchten curves as static members and doesn't concern itself converting absolute to effective saturations and vice versa.

The converion from and to effective saturations can be done using, e.g. EffToAbsLaw.

See also
  VanGenuchtenParams

## Member Function Documentation

## capillaryPressures()

template<class TraitsT , class ParamsT = VanGenuchtenParams<TraitsT>>
template<class Container , class FluidState >

static void Opm::VanGenuchten< TraitsT, ParamsT >::capillaryPressures | ( | Container & | values,
|  | const Params & | params,
|  | const FluidState & | fs
| ) |  |

inline static

The capillary pressure-saturation curves according to van Genuchten.

Van Genuchten's empirical capillary pressure <-> saturation function is given by

Parameters

  values | A random access container which stores the relative pressure of each fluid phase.
  params | The parameter object expressing the coefficients required by the van Genuchten law.
  fs | The fluid state for which the capillary pressure ought to be calculated

## krn()

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

static Evaluation Opm::VanGenuchten< TraitsT, ParamsT >::krn | ( | const Params & | params,
|  | const FluidState & | fs
| ) |  |

inline static

The relative permeability for the non-wetting phase of the medium according to van Genuchten.

Parameters

  params | The parameter object expressing the coefficients required by the van Genuchten law.
  fs | The fluid state for which the derivative ought to be calculated

## krw()

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

static Evaluation Opm::VanGenuchten< TraitsT, ParamsT >::krw | ( | const Params & | params,
|  | const FluidState & | fs
| ) |  |

inline static

The relative permeability for the wetting phase of the medium according to van Genuchten's curve with Mualem parameterization.

Parameters

  params | The parameter object expressing the coefficients required by the van Genuchten law.
  fs | The fluid state for which the relative permeability ought to be calculated

## pcnw()

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

static Evaluation Opm::VanGenuchten< TraitsT, ParamsT >::pcnw | ( | const Params & | params,
|  | const FluidState & | fs
| ) |  |

inline static

The capillary pressure-saturation curve according to van Genuchten.

Van Genuchten's empirical capillary pressure <-> saturation function is given by

Parameters

  params | The parameter object expressing the coefficients required by the van Genuchten law.
  fs | The fluid state for which the capillary pressure ought to be calculated

## relativePermeabilities()

template<class TraitsT , class ParamsT = VanGenuchtenParams<TraitsT>>
template<class Container , class FluidState >

static void Opm::VanGenuchten< TraitsT, ParamsT >::relativePermeabilities | ( | Container & | values,
|  | const Params & | params,
|  | const FluidState & | fs
| ) |  |

inline static

The relative permeability-saturation curves according to van Genuchten.

Parameters

  values | A random access container which stores the relative permeability of each fluid phase.
  params | The parameter object expressing the coefficients required by the van Genuchten law.
  fs | The fluid state for which the relative permeabilities ought to be calculated

## Sw()

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

static Evaluation Opm::VanGenuchten< TraitsT, ParamsT >::Sw | ( | const Params & | params,
|  | const FluidState & | fs
| ) |  |

inline static

The saturation-capillary pressure curve according to van Genuchten.

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

Parameters

  params | The parameter object expressing the coefficients required by the van Genuchten law.
  fs | The fluid state containing valid phase pressures

## twoPhaseSatPcnw()

template<class TraitsT , class ParamsT = VanGenuchtenParams<TraitsT>>
template<class Evaluation >

static Evaluation Opm::VanGenuchten< TraitsT, ParamsT >::twoPhaseSatPcnw | ( | const Params & | params,
|  | const Evaluation & | Sw
| ) |  |

inline static

The saturation-capillary pressure curve according to van Genuchten using a material law specific API.

The advantage of this model is that it is simpler to use because the baggage of the fluid state API does not need to be carried along. The disavantage of this is, that it is very specific to the van Genuchten law (i.e., depends only on the wetting phase saturation, assumes two fluid phases, etc)

Parameters

  params | The parameter object expressing the coefficients required by the van Genuchten law.
  Sw | The effective wetting phase saturation

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

- opm/material/fluidmatrixinteractions/VanGenuchten.hpp