My Project
Opm::SatCurveMultiplexer< TraitsT, ParamsT > Class Template Reference

Implements a multiplexer class that provides LET curves and piecewise linear saturation functions. More...

#include <SatCurveMultiplexer.hpp>

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

Public Types

using Traits = TraitsT
 
using Params = ParamsT
 
using Scalar = typename Traits::Scalar
 
using LETTwoPhaseLaw = TwoPhaseLETCurves< Traits >
 
using PLTwoPhaseLaw = PiecewiseLinearTwoPhaseMaterial< Traits >
 

Static Public Member Functions

template<class Container , class FluidState >
static void capillaryPressures (Container &values, const Params &params, const FluidState &fluidState)
 The capillary pressure-saturation curves.
 
template<class Container , class FluidState >
static void saturations (Container &values, const Params &params, const FluidState &fluidState)
 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 &fluidState)
 The relative permeability-saturation curves. More...
 
template<class FluidState , class Evaluation = typename FluidState::Scalar>
static Evaluation pcnw (const Params &params, const FluidState &fluidState)
 The capillary pressure-saturation curve.
 
template<class Evaluation >
static Evaluation twoPhaseSatPcnw (const Params &params, const Evaluation &Sw)
 
template<class Evaluation >
static Evaluation twoPhaseSatPcnwInv (const Params &, const Evaluation &)
 
template<class FluidState , class Evaluation = typename FluidState::Scalar>
static Evaluation Sw (const Params &params, const FluidState &fluidstate)
 The saturation-capillary pressure curve.
 
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 &fluidstate)
 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 &fluidstate)
 The relative permeability for the wetting phase of the medium.
 
template<class Evaluation >
static Evaluation twoPhaseSatKrw (const Params &params, const Evaluation &Sw)
 
template<class Evaluation >
static Evaluation twoPhaseSatKrwInv (const Params &, const Evaluation &)
 
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 of the medium.
 
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 constexpr int numPhases = Traits::numPhases
 The number of fluid phases to which this material law applies.
 
static constexpr bool implementsTwoPhaseApi = true
 Specify whether this material law implements the two-phase convenience API.
 
static constexpr bool implementsTwoPhaseSatApi = true
 Specify whether this material law implements the two-phase convenience API which only depends on the phase saturations.
 
static constexpr bool isSaturationDependent = true
 Specify whether the quantities defined by this material law are saturation dependent.
 
static constexpr bool isPressureDependent = false
 Specify whether the quantities defined by this material law are dependent on the absolute pressure.
 
static constexpr bool isTemperatureDependent = false
 Specify whether the quantities defined by this material law are temperature dependent.
 
static constexpr 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 = SatCurveMultiplexerParams<TraitsT>>
class Opm::SatCurveMultiplexer< TraitsT, ParamsT >

Implements a multiplexer class that provides LET curves and piecewise linear saturation functions.

Member Function Documentation

◆ relativePermeabilities()

template<class TraitsT , class ParamsT = SatCurveMultiplexerParams<TraitsT>>
template<class Container , class FluidState >
static void Opm::SatCurveMultiplexer< TraitsT, ParamsT >::relativePermeabilities ( Container &  values,
const Params &  params,
const FluidState &  fluidState 
)
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

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