My Project
|
Implements the default three phase capillary pressure law used by the ECLipse simulator. More...
#include <EclDefaultMaterial.hpp>
Public Types | |
using | GasOilMaterialLaw = GasOilMaterialLawT |
using | OilWaterMaterialLaw = OilWaterMaterialLawT |
using | Traits = TraitsT |
using | Params = ParamsT |
using | Scalar = typename Traits::Scalar |
Static Public Member Functions | |
template<class ContainerT , class FluidState > | |
static void | capillaryPressures (ContainerT &values, const Params ¶ms, const FluidState &state) |
Implements the default three phase capillary pressure law used by the ECLipse simulator. | |
static void | oilWaterHysteresisParams (Scalar &pcSwMdc, Scalar &krnSwMdc, const Params ¶ms) |
static void | setOilWaterHysteresisParams (const Scalar &pcSwMdc, const Scalar &krnSwMdc, Params ¶ms) |
static void | gasOilHysteresisParams (Scalar &pcSwMdc, Scalar &krnSwMdc, const Params ¶ms) |
static Scalar | trappedGasSaturation (const Params ¶ms) |
static void | setGasOilHysteresisParams (const Scalar &pcSwMdc, const Scalar &krnSwMdc, Params ¶ms) |
template<class FluidState , class Evaluation = typename FluidState::Scalar> | |
static Evaluation | pcgn (const Params ¶ms, const FluidState &fs) |
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 ¶ms, const FluidState &fs) |
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 inverse of the capillary pressure. | |
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 ¶ms, const FluidState &fluidState) |
The relative permeability of all phases. | |
template<class FluidState , class Evaluation = typename FluidState::Scalar> | |
static Evaluation | krg (const Params ¶ms, const FluidState &fluidState) |
The relative permeability of the gas phase. | |
template<class FluidState , class Evaluation = typename FluidState::Scalar> | |
static Evaluation | krw (const Params ¶ms, const FluidState &fluidState) |
The relative permeability of the wetting phase. | |
template<class FluidState , class Evaluation = typename FluidState::Scalar> | |
static Evaluation | krn (const Params ¶ms, const FluidState &fluidState) |
The relative permeability of the non-wetting (i.e., oil) phase. | |
template<class Evaluation , class FluidState > | |
static Evaluation | relpermOilInOilGasSystem (const Params ¶ms, const FluidState &fluidState) |
The relative permeability of oil in oil/gas system. | |
template<class Evaluation , class FluidState > | |
static Evaluation | relpermOilInOilWaterSystem (const Params ¶ms, const FluidState &fluidState) |
The relative permeability of oil in oil/water system. | |
template<class FluidState > | |
static bool | updateHysteresis (Params ¶ms, const FluidState &fluidState) |
Update the hysteresis parameters after a time step. | |
template<class FluidState > | |
static Scalar | clampSaturation (const FluidState &fluidState, const int phaseIndex) |
Implements the default three phase capillary pressure law used by the ECLipse simulator.
This material law is valid for three fluid phases and only depends on the saturations.
The required two-phase relations are supplied by means of template arguments and can be an arbitrary other material laws. (Provided that these only depend on saturation.)
|
inlinestatic |
Implements the default three phase capillary pressure law used by the ECLipse simulator.
This material law is valid for three fluid phases and only depends on the saturations.
The required two-phase relations are supplied by means of template arguments and can be an arbitrary other material laws.
values | Container for the return values |
params | Parameters |
state | The fluid state |
|
inlinestatic |
Capillary pressure between the gas and the non-wetting liquid (i.e., oil) phase.
This is defined as
|
inlinestatic |
Capillary pressure between the non-wetting liquid (i.e., oil) and the wetting liquid (i.e., water) phase.
This is defined as
|
inlinestatic |
The relative permeability of all phases.
The relative permeability of the water phase it uses the same value as the relative permeability for water in the water-oil law with
A more detailed description can be found in the "Three phase oil relative permeability models" section of the ECLipse technical description.
|
inlinestatic |
Update the hysteresis parameters after a time step.
This assumes that the nested two-phase material laws are parameters for EclHysteresisLaw. If they are not, calling this methid will cause a compiler error. (But not calling it will still work.)