Opm::EclMultiplexerMaterial< TraitsT, GasOilMaterialLawT, OilWaterMaterialLawT, GasWaterMaterialLawT, ParamsT > Class Template Reference Implements a multiplexer class that provides all three phase capillary pressure laws used by the ECLipse simulator. More...
Inheritance diagram for Opm::EclMultiplexerMaterial< TraitsT, GasOilMaterialLawT, OilWaterMaterialLawT, GasWaterMaterialLawT, ParamsT >:
Detailed Descriptiontemplate<class TraitsT, class GasOilMaterialLawT, class OilWaterMaterialLawT, class GasWaterMaterialLawT, class ParamsT = EclMultiplexerMaterialParams<TraitsT, GasOilMaterialLawT, OilWaterMaterialLawT, GasWaterMaterialLawT>> class Opm::EclMultiplexerMaterial< TraitsT, GasOilMaterialLawT, OilWaterMaterialLawT, GasWaterMaterialLawT, ParamsT > Implements a multiplexer class that provides all three phase capillary pressure laws used by the ECLipse simulator. Member Typedef Documentation◆ DefaultMaterial
template<class TraitsT , class GasOilMaterialLawT , class OilWaterMaterialLawT , class GasWaterMaterialLawT , class ParamsT = EclMultiplexerMaterialParams<TraitsT, GasOilMaterialLawT, OilWaterMaterialLawT, GasWaterMaterialLawT>>
◆ GasOilMaterialLaw
template<class TraitsT , class GasOilMaterialLawT , class OilWaterMaterialLawT , class GasWaterMaterialLawT , class ParamsT = EclMultiplexerMaterialParams<TraitsT, GasOilMaterialLawT, OilWaterMaterialLawT, GasWaterMaterialLawT>>
◆ GasWaterMaterialLaw
template<class TraitsT , class GasOilMaterialLawT , class OilWaterMaterialLawT , class GasWaterMaterialLawT , class ParamsT = EclMultiplexerMaterialParams<TraitsT, GasOilMaterialLawT, OilWaterMaterialLawT, GasWaterMaterialLawT>>
◆ OilWaterMaterialLaw
template<class TraitsT , class GasOilMaterialLawT , class OilWaterMaterialLawT , class GasWaterMaterialLawT , class ParamsT = EclMultiplexerMaterialParams<TraitsT, GasOilMaterialLawT, OilWaterMaterialLawT, GasWaterMaterialLawT>>
◆ Params
template<class TraitsT , class GasOilMaterialLawT , class OilWaterMaterialLawT , class GasWaterMaterialLawT , class ParamsT = EclMultiplexerMaterialParams<TraitsT, GasOilMaterialLawT, OilWaterMaterialLawT, GasWaterMaterialLawT>>
◆ Scalar
template<class TraitsT , class GasOilMaterialLawT , class OilWaterMaterialLawT , class GasWaterMaterialLawT , class ParamsT = EclMultiplexerMaterialParams<TraitsT, GasOilMaterialLawT, OilWaterMaterialLawT, GasWaterMaterialLawT>>
◆ Stone1Material
template<class TraitsT , class GasOilMaterialLawT , class OilWaterMaterialLawT , class GasWaterMaterialLawT , class ParamsT = EclMultiplexerMaterialParams<TraitsT, GasOilMaterialLawT, OilWaterMaterialLawT, GasWaterMaterialLawT>>
◆ Stone2Material
template<class TraitsT , class GasOilMaterialLawT , class OilWaterMaterialLawT , class GasWaterMaterialLawT , class ParamsT = EclMultiplexerMaterialParams<TraitsT, GasOilMaterialLawT, OilWaterMaterialLawT, GasWaterMaterialLawT>>
◆ Traits
template<class TraitsT , class GasOilMaterialLawT , class OilWaterMaterialLawT , class GasWaterMaterialLawT , class ParamsT = EclMultiplexerMaterialParams<TraitsT, GasOilMaterialLawT, OilWaterMaterialLawT, GasWaterMaterialLawT>>
◆ TwoPhaseMaterial
template<class TraitsT , class GasOilMaterialLawT , class OilWaterMaterialLawT , class GasWaterMaterialLawT , class ParamsT = EclMultiplexerMaterialParams<TraitsT, GasOilMaterialLawT, OilWaterMaterialLawT, GasWaterMaterialLawT>>
Member Function Documentation◆ capillaryPressures()
template<class TraitsT , class GasOilMaterialLawT , class OilWaterMaterialLawT , class GasWaterMaterialLawT , class ParamsT = EclMultiplexerMaterialParams<TraitsT, GasOilMaterialLawT, OilWaterMaterialLawT, GasWaterMaterialLawT>>
template<class ContainerT , class FluidState >
Implements the multiplexer 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.
References Opm::EclTwoPhaseMaterial< TraitsT, GasOilMaterialLawT, OilWaterMaterialLawT, GasWaterMaterialLawT, ParamsT >::capillaryPressures(), Opm::EclDefaultMaterial< TraitsT, GasOilMaterialLawT, OilWaterMaterialLawT, ParamsT >::capillaryPressures(), Opm::EclStone1Material< TraitsT, GasOilMaterialLawT, OilWaterMaterialLawT, ParamsT >::capillaryPressures(), Opm::EclStone2Material< TraitsT, GasOilMaterialLawT, OilWaterMaterialLawT, ParamsT >::capillaryPressures(), Opm::EclDefaultApproach, Opm::EclOnePhaseApproach, Opm::EclStone1Approach, Opm::EclStone2Approach, and Opm::EclTwoPhaseApproach. Referenced by Opm::EclMaterialLawManager< TraitsT >::applySwatinit(). ◆ gasOilHysteresisParams()
template<class TraitsT , class GasOilMaterialLawT , class OilWaterMaterialLawT , class GasWaterMaterialLawT , class ParamsT = EclMultiplexerMaterialParams<TraitsT, GasOilMaterialLawT, OilWaterMaterialLawT, GasWaterMaterialLawT>>
References Opm::EclDefaultApproach, Opm::EclOnePhaseApproach, Opm::EclStone1Approach, Opm::EclStone2Approach, Opm::EclTwoPhaseApproach, Opm::EclDefaultMaterial< TraitsT, GasOilMaterialLawT, OilWaterMaterialLawT, ParamsT >::gasOilHysteresisParams(), Opm::EclStone1Material< TraitsT, GasOilMaterialLawT, OilWaterMaterialLawT, ParamsT >::gasOilHysteresisParams(), Opm::EclStone2Material< TraitsT, GasOilMaterialLawT, OilWaterMaterialLawT, ParamsT >::gasOilHysteresisParams(), and Opm::EclTwoPhaseMaterial< TraitsT, GasOilMaterialLawT, OilWaterMaterialLawT, GasWaterMaterialLawT, ParamsT >::gasOilHysteresisParams(). Referenced by Opm::EclMaterialLawManager< TraitsT >::gasOilHysteresisParams(). ◆ krg()
template<class TraitsT , class GasOilMaterialLawT , class OilWaterMaterialLawT , class GasWaterMaterialLawT , class ParamsT = EclMultiplexerMaterialParams<TraitsT, GasOilMaterialLawT, OilWaterMaterialLawT, GasWaterMaterialLawT>>
template<class FluidState , class Evaluation = typename FluidState::Scalar>
The relative permeability of the gas phase. ◆ krn()
template<class TraitsT , class GasOilMaterialLawT , class OilWaterMaterialLawT , class GasWaterMaterialLawT , class ParamsT = EclMultiplexerMaterialParams<TraitsT, GasOilMaterialLawT, OilWaterMaterialLawT, GasWaterMaterialLawT>>
template<class FluidState , class Evaluation = typename FluidState::Scalar>
The relative permeability of the non-wetting (i.e., oil) phase. ◆ krw()
template<class TraitsT , class GasOilMaterialLawT , class OilWaterMaterialLawT , class GasWaterMaterialLawT , class ParamsT = EclMultiplexerMaterialParams<TraitsT, GasOilMaterialLawT, OilWaterMaterialLawT, GasWaterMaterialLawT>>
template<class FluidState , class Evaluation = typename FluidState::Scalar>
The relative permeability of the wetting phase. ◆ oilWaterHysteresisParams()
template<class TraitsT , class GasOilMaterialLawT , class OilWaterMaterialLawT , class GasWaterMaterialLawT , class ParamsT = EclMultiplexerMaterialParams<TraitsT, GasOilMaterialLawT, OilWaterMaterialLawT, GasWaterMaterialLawT>>
References Opm::EclDefaultApproach, Opm::EclOnePhaseApproach, Opm::EclStone1Approach, Opm::EclStone2Approach, Opm::EclTwoPhaseApproach, Opm::EclDefaultMaterial< TraitsT, GasOilMaterialLawT, OilWaterMaterialLawT, ParamsT >::oilWaterHysteresisParams(), Opm::EclStone1Material< TraitsT, GasOilMaterialLawT, OilWaterMaterialLawT, ParamsT >::oilWaterHysteresisParams(), Opm::EclStone2Material< TraitsT, GasOilMaterialLawT, OilWaterMaterialLawT, ParamsT >::oilWaterHysteresisParams(), and Opm::EclTwoPhaseMaterial< TraitsT, GasOilMaterialLawT, OilWaterMaterialLawT, GasWaterMaterialLawT, ParamsT >::oilWaterHysteresisParams(). Referenced by Opm::EclMaterialLawManager< TraitsT >::oilWaterHysteresisParams(). ◆ pcgn()
template<class TraitsT , class GasOilMaterialLawT , class OilWaterMaterialLawT , class GasWaterMaterialLawT , class ParamsT = EclMultiplexerMaterialParams<TraitsT, GasOilMaterialLawT, OilWaterMaterialLawT, GasWaterMaterialLawT>>
template<class FluidState , class Evaluation = typename FluidState::Scalar>
Capillary pressure between the gas and the non-wetting liquid (i.e., oil) phase. This is defined as
◆ pcnw()
template<class TraitsT , class GasOilMaterialLawT , class OilWaterMaterialLawT , class GasWaterMaterialLawT , class ParamsT = EclMultiplexerMaterialParams<TraitsT, GasOilMaterialLawT, OilWaterMaterialLawT, GasWaterMaterialLawT>>
template<class FluidState , class Evaluation = typename FluidState::Scalar>
Capillary pressure between the non-wetting liquid (i.e., oil) and the wetting liquid (i.e., water) phase. This is defined as
◆ relativePermeabilities()
template<class TraitsT , class GasOilMaterialLawT , class OilWaterMaterialLawT , class GasWaterMaterialLawT , class ParamsT = EclMultiplexerMaterialParams<TraitsT, GasOilMaterialLawT, OilWaterMaterialLawT, GasWaterMaterialLawT>>
template<class ContainerT , class FluidState >
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 . The gas relative permebility is taken from the gas-oil material law, but with . The relative permeability of the oil phase is calculated using the relative permeabilities of the oil phase in the two two-phase systems. A more detailed description can be found in the "Three phase oil relative permeability models" section of the ECLipse technical description. References Opm::EclDefaultApproach, Opm::EclOnePhaseApproach, Opm::EclStone1Approach, Opm::EclStone2Approach, Opm::EclTwoPhaseApproach, Opm::EclDefaultMaterial< TraitsT, GasOilMaterialLawT, OilWaterMaterialLawT, ParamsT >::relativePermeabilities(), Opm::EclStone1Material< TraitsT, GasOilMaterialLawT, OilWaterMaterialLawT, ParamsT >::relativePermeabilities(), Opm::EclStone2Material< TraitsT, GasOilMaterialLawT, OilWaterMaterialLawT, ParamsT >::relativePermeabilities(), and Opm::EclTwoPhaseMaterial< TraitsT, GasOilMaterialLawT, OilWaterMaterialLawT, GasWaterMaterialLawT, ParamsT >::relativePermeabilities(). ◆ relpermOilInOilGasSystem()
template<class TraitsT , class GasOilMaterialLawT , class OilWaterMaterialLawT , class GasWaterMaterialLawT , class ParamsT = EclMultiplexerMaterialParams<TraitsT, GasOilMaterialLawT, OilWaterMaterialLawT, GasWaterMaterialLawT>>
template<class Evaluation , class FluidState >
The relative permeability of oil in oil/gas system. References Opm::EclDefaultApproach, Opm::EclStone1Approach, and Opm::EclStone2Approach. ◆ relpermOilInOilWaterSystem()
template<class TraitsT , class GasOilMaterialLawT , class OilWaterMaterialLawT , class GasWaterMaterialLawT , class ParamsT = EclMultiplexerMaterialParams<TraitsT, GasOilMaterialLawT, OilWaterMaterialLawT, GasWaterMaterialLawT>>
template<class Evaluation , class FluidState >
The relative permeability of oil in oil/water system. References Opm::EclDefaultApproach, Opm::EclStone1Approach, and Opm::EclStone2Approach. ◆ saturations()
template<class TraitsT , class GasOilMaterialLawT , class OilWaterMaterialLawT , class GasWaterMaterialLawT , class ParamsT = EclMultiplexerMaterialParams<TraitsT, GasOilMaterialLawT, OilWaterMaterialLawT, GasWaterMaterialLawT>>
template<class ContainerT , class FluidState >
The inverse of the capillary pressure. ◆ setGasOilHysteresisParams()
template<class TraitsT , class GasOilMaterialLawT , class OilWaterMaterialLawT , class GasWaterMaterialLawT , class ParamsT = EclMultiplexerMaterialParams<TraitsT, GasOilMaterialLawT, OilWaterMaterialLawT, GasWaterMaterialLawT>>
References Opm::EclDefaultApproach, Opm::EclOnePhaseApproach, Opm::EclStone1Approach, Opm::EclStone2Approach, Opm::EclTwoPhaseApproach, Opm::EclDefaultMaterial< TraitsT, GasOilMaterialLawT, OilWaterMaterialLawT, ParamsT >::setGasOilHysteresisParams(), Opm::EclStone1Material< TraitsT, GasOilMaterialLawT, OilWaterMaterialLawT, ParamsT >::setGasOilHysteresisParams(), Opm::EclStone2Material< TraitsT, GasOilMaterialLawT, OilWaterMaterialLawT, ParamsT >::setGasOilHysteresisParams(), and Opm::EclTwoPhaseMaterial< TraitsT, GasOilMaterialLawT, OilWaterMaterialLawT, GasWaterMaterialLawT, ParamsT >::setGasOilHysteresisParams(). Referenced by Opm::EclMaterialLawManager< TraitsT >::setGasOilHysteresisParams(). ◆ setOilWaterHysteresisParams()
template<class TraitsT , class GasOilMaterialLawT , class OilWaterMaterialLawT , class GasWaterMaterialLawT , class ParamsT = EclMultiplexerMaterialParams<TraitsT, GasOilMaterialLawT, OilWaterMaterialLawT, GasWaterMaterialLawT>>
References Opm::EclDefaultApproach, Opm::EclOnePhaseApproach, Opm::EclStone1Approach, Opm::EclStone2Approach, Opm::EclTwoPhaseApproach, Opm::EclDefaultMaterial< TraitsT, GasOilMaterialLawT, OilWaterMaterialLawT, ParamsT >::setOilWaterHysteresisParams(), Opm::EclStone1Material< TraitsT, GasOilMaterialLawT, OilWaterMaterialLawT, ParamsT >::setOilWaterHysteresisParams(), Opm::EclStone2Material< TraitsT, GasOilMaterialLawT, OilWaterMaterialLawT, ParamsT >::setOilWaterHysteresisParams(), and Opm::EclTwoPhaseMaterial< TraitsT, GasOilMaterialLawT, OilWaterMaterialLawT, GasWaterMaterialLawT, ParamsT >::setOilWaterHysteresisParams(). Referenced by Opm::EclMaterialLawManager< TraitsT >::setOilWaterHysteresisParams(). ◆ Sg()
template<class TraitsT , class GasOilMaterialLawT , class OilWaterMaterialLawT , class GasWaterMaterialLawT , class ParamsT = EclMultiplexerMaterialParams<TraitsT, GasOilMaterialLawT, OilWaterMaterialLawT, GasWaterMaterialLawT>>
template<class FluidState , class Evaluation = typename FluidState::Scalar>
The saturation of the gas phase. ◆ Sn()
template<class TraitsT , class GasOilMaterialLawT , class OilWaterMaterialLawT , class GasWaterMaterialLawT , class ParamsT = EclMultiplexerMaterialParams<TraitsT, GasOilMaterialLawT, OilWaterMaterialLawT, GasWaterMaterialLawT>>
template<class FluidState , class Evaluation = typename FluidState::Scalar>
The saturation of the non-wetting (i.e., oil) phase. ◆ Sw()
template<class TraitsT , class GasOilMaterialLawT , class OilWaterMaterialLawT , class GasWaterMaterialLawT , class ParamsT = EclMultiplexerMaterialParams<TraitsT, GasOilMaterialLawT, OilWaterMaterialLawT, GasWaterMaterialLawT>>
template<class FluidState , class Evaluation = typename FluidState::Scalar>
The saturation of the wetting (i.e., water) phase. ◆ updateHysteresis()
template<class TraitsT , class GasOilMaterialLawT , class OilWaterMaterialLawT , class GasWaterMaterialLawT , class ParamsT = EclMultiplexerMaterialParams<TraitsT, GasOilMaterialLawT, OilWaterMaterialLawT, GasWaterMaterialLawT>>
template<class FluidState >
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.) References Opm::EclDefaultApproach, Opm::EclOnePhaseApproach, Opm::EclStone1Approach, Opm::EclStone2Approach, Opm::EclTwoPhaseApproach, Opm::EclDefaultMaterial< TraitsT, GasOilMaterialLawT, OilWaterMaterialLawT, ParamsT >::updateHysteresis(), Opm::EclStone1Material< TraitsT, GasOilMaterialLawT, OilWaterMaterialLawT, ParamsT >::updateHysteresis(), Opm::EclStone2Material< TraitsT, GasOilMaterialLawT, OilWaterMaterialLawT, ParamsT >::updateHysteresis(), and Opm::EclTwoPhaseMaterial< TraitsT, GasOilMaterialLawT, OilWaterMaterialLawT, GasWaterMaterialLawT, ParamsT >::updateHysteresis(). Referenced by Opm::EclMaterialLawManager< TraitsT >::updateHysteresis(). Member Data Documentation◆ gasPhaseIdx
template<class TraitsT , class GasOilMaterialLawT , class OilWaterMaterialLawT , class GasWaterMaterialLawT , class ParamsT = EclMultiplexerMaterialParams<TraitsT, GasOilMaterialLawT, OilWaterMaterialLawT, GasWaterMaterialLawT>>
◆ implementsTwoPhaseApi
template<class TraitsT , class GasOilMaterialLawT , class OilWaterMaterialLawT , class GasWaterMaterialLawT , class ParamsT = EclMultiplexerMaterialParams<TraitsT, GasOilMaterialLawT, OilWaterMaterialLawT, GasWaterMaterialLawT>>
Specify whether this material law implements the two-phase convenience API ◆ implementsTwoPhaseSatApi
template<class TraitsT , class GasOilMaterialLawT , class OilWaterMaterialLawT , class GasWaterMaterialLawT , class ParamsT = EclMultiplexerMaterialParams<TraitsT, GasOilMaterialLawT, OilWaterMaterialLawT, GasWaterMaterialLawT>>
Specify whether this material law implements the two-phase convenience API which only depends on the phase saturations ◆ isCompositionDependent
template<class TraitsT , class GasOilMaterialLawT , class OilWaterMaterialLawT , class GasWaterMaterialLawT , class ParamsT = EclMultiplexerMaterialParams<TraitsT, GasOilMaterialLawT, OilWaterMaterialLawT, GasWaterMaterialLawT>>
Specify whether the quantities defined by this material law are dependent on the phase composition ◆ isPressureDependent
template<class TraitsT , class GasOilMaterialLawT , class OilWaterMaterialLawT , class GasWaterMaterialLawT , class ParamsT = EclMultiplexerMaterialParams<TraitsT, GasOilMaterialLawT, OilWaterMaterialLawT, GasWaterMaterialLawT>>
Specify whether the quantities defined by this material law are dependent on the absolute pressure ◆ isSaturationDependent
template<class TraitsT , class GasOilMaterialLawT , class OilWaterMaterialLawT , class GasWaterMaterialLawT , class ParamsT = EclMultiplexerMaterialParams<TraitsT, GasOilMaterialLawT, OilWaterMaterialLawT, GasWaterMaterialLawT>>
Specify whether the quantities defined by this material law are saturation dependent ◆ isTemperatureDependent
template<class TraitsT , class GasOilMaterialLawT , class OilWaterMaterialLawT , class GasWaterMaterialLawT , class ParamsT = EclMultiplexerMaterialParams<TraitsT, GasOilMaterialLawT, OilWaterMaterialLawT, GasWaterMaterialLawT>>
Specify whether the quantities defined by this material law are temperature dependent ◆ numPhases
template<class TraitsT , class GasOilMaterialLawT , class OilWaterMaterialLawT , class GasWaterMaterialLawT , class ParamsT = EclMultiplexerMaterialParams<TraitsT, GasOilMaterialLawT, OilWaterMaterialLawT, GasWaterMaterialLawT>>
◆ oilPhaseIdx
template<class TraitsT , class GasOilMaterialLawT , class OilWaterMaterialLawT , class GasWaterMaterialLawT , class ParamsT = EclMultiplexerMaterialParams<TraitsT, GasOilMaterialLawT, OilWaterMaterialLawT, GasWaterMaterialLawT>>
◆ waterPhaseIdx
template<class TraitsT , class GasOilMaterialLawT , class OilWaterMaterialLawT , class GasWaterMaterialLawT , class ParamsT = EclMultiplexerMaterialParams<TraitsT, GasOilMaterialLawT, OilWaterMaterialLawT, GasWaterMaterialLawT>>
The documentation for this class was generated from the following file: |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||