Opm::EffToAbsLaw< EffLawT, ParamsT > Class Template Reference This material law takes a material law defined for effective saturations and converts it to a material law defined on absolute saturations. More...
Inheritance diagram for Opm::EffToAbsLaw< EffLawT, ParamsT >:
Detailed Descriptiontemplate<class EffLawT, class ParamsT = EffToAbsLawParams<typename EffLawT::Params, EffLawT::numPhases>> class Opm::EffToAbsLaw< EffLawT, ParamsT > This material law takes a material law defined for effective saturations and converts it to a material law defined on absolute saturations. The idea: "material laws" (like VanGenuchten or BrooksCorey) are defined for effective saturations. The numeric calculations however are performed with absolute saturations. The EffToAbsLaw class gets the "material laws" actually used as well as the corresponding parameter container as template arguments. Subsequently, the desired function (pc, Sw... ) of the actually used "material laws" are called but with the saturations already converted from absolute to effective. This approach makes sure that in the "material laws" only effective saturations are considered, which makes sense, as these laws only deal with effective saturations. This also allows for changing the calculation of the effective saturations easily, as this is subject of discussion / may be problem specific. Additionally, handing over effective saturations to the "material laws" in stead of them calculating effective saturations prevents accidently "converting twice". This boils down to:
Member Typedef Documentation◆ Params
template<class EffLawT , class ParamsT = EffToAbsLawParams<typename EffLawT::Params, EffLawT::numPhases>>
◆ Scalar
template<class EffLawT , class ParamsT = EffToAbsLawParams<typename EffLawT::Params, EffLawT::numPhases>>
◆ Traits
template<class EffLawT , class ParamsT = EffToAbsLawParams<typename EffLawT::Params, EffLawT::numPhases>>
Member Function Documentation◆ absoluteSaturation()
template<class EffLawT , class ParamsT = EffToAbsLawParams<typename EffLawT::Params, EffLawT::numPhases>>
template<class Evaluation >
Convert an effective saturation to an absolute one. Referenced by Opm::EffToAbsLaw< EffLawT, ParamsT >::saturations(), Opm::EffToAbsLaw< EffLawT, ParamsT >::Sg(), Opm::EffToAbsLaw< EffLawT, ParamsT >::Sn(), Opm::EffToAbsLaw< EffLawT, ParamsT >::Sw(), Opm::EffToAbsLaw< EffLawT, ParamsT >::twoPhaseSatSn(), and Opm::EffToAbsLaw< EffLawT, ParamsT >::twoPhaseSatSw(). ◆ capillaryPressures()
template<class EffLawT , class ParamsT = EffToAbsLawParams<typename EffLawT::Params, EffLawT::numPhases>>
template<class Container , class FluidState >
The capillary pressure-saturation curves depending on absolute saturations.
References Opm::EffToAbsLaw< EffLawT, ParamsT >::effectiveSaturation(), and Opm::EffToAbsLaw< EffLawT, ParamsT >::numPhases. ◆ effectiveSaturation()
template<class EffLawT , class ParamsT = EffToAbsLawParams<typename EffLawT::Params, EffLawT::numPhases>>
template<class Evaluation >
Convert an absolute saturation to an effective one. Referenced by Opm::EffToAbsLaw< EffLawT, ParamsT >::capillaryPressures(), Opm::EffToAbsLaw< EffLawT, ParamsT >::krg(), Opm::EffToAbsLaw< EffLawT, ParamsT >::krn(), Opm::EffToAbsLaw< EffLawT, ParamsT >::krw(), Opm::EffToAbsLaw< EffLawT, ParamsT >::pcnw(), Opm::EffToAbsLaw< EffLawT, ParamsT >::relativePermeabilities(), Opm::EffToAbsLaw< EffLawT, ParamsT >::twoPhaseSatKrn(), Opm::EffToAbsLaw< EffLawT, ParamsT >::twoPhaseSatKrw(), and Opm::EffToAbsLaw< EffLawT, ParamsT >::twoPhaseSatPcnw(). ◆ krg()
template<class EffLawT , class ParamsT = EffToAbsLawParams<typename EffLawT::Params, EffLawT::numPhases>>
template<class FluidState , class Evaluation = typename FluidState::Scalar>
The relative permability of the gas phase. This method is only available for at least three fluid phases References Opm::EffToAbsLaw< EffLawT, ParamsT >::effectiveSaturation(), and Opm::EffToAbsLaw< EffLawT, ParamsT >::numPhases. ◆ krn()
template<class EffLawT , class ParamsT = EffToAbsLawParams<typename EffLawT::Params, EffLawT::numPhases>>
template<class FluidState , class Evaluation = typename FluidState::Scalar>
The relative permeability of the non-wetting phase. References Opm::EffToAbsLaw< EffLawT, ParamsT >::effectiveSaturation(), and Opm::EffToAbsLaw< EffLawT, ParamsT >::numPhases. ◆ krw()
template<class EffLawT , class ParamsT = EffToAbsLawParams<typename EffLawT::Params, EffLawT::numPhases>>
template<class FluidState , class Evaluation = typename FluidState::Scalar>
The relative permeability for the wetting phase.
References Opm::EffToAbsLaw< EffLawT, ParamsT >::effectiveSaturation(), and Opm::EffToAbsLaw< EffLawT, ParamsT >::numPhases. ◆ pcnw()
template<class EffLawT , class ParamsT = EffToAbsLawParams<typename EffLawT::Params, EffLawT::numPhases>>
template<class FluidState , class Evaluation = typename FluidState::Scalar>
The capillary pressure-saturation curve.
References Opm::EffToAbsLaw< EffLawT, ParamsT >::effectiveSaturation(), and Opm::EffToAbsLaw< EffLawT, ParamsT >::numPhases. ◆ relativePermeabilities()
template<class EffLawT , class ParamsT = EffToAbsLawParams<typename EffLawT::Params, EffLawT::numPhases>>
template<class Container , class FluidState >
The relative permeability-saturation curves depending on absolute saturations.
References Opm::EffToAbsLaw< EffLawT, ParamsT >::effectiveSaturation(), and Opm::EffToAbsLaw< EffLawT, ParamsT >::numPhases. ◆ saturations()
template<class EffLawT , class ParamsT = EffToAbsLawParams<typename EffLawT::Params, EffLawT::numPhases>>
template<class Container , class FluidState >
The saturation-capillary pressure curves. References Opm::EffToAbsLaw< EffLawT, ParamsT >::absoluteSaturation(), and Opm::EffToAbsLaw< EffLawT, ParamsT >::numPhases. ◆ Sg()
template<class EffLawT , class ParamsT = EffToAbsLawParams<typename EffLawT::Params, EffLawT::numPhases>>
template<class FluidState , class Evaluation = typename FluidState::Scalar>
Calculate gas phase saturation given that the rest of the fluid state has been initialized. This method is only available for at least three fluid phases References Opm::EffToAbsLaw< EffLawT, ParamsT >::absoluteSaturation(). ◆ Sn()
template<class EffLawT , class ParamsT = EffToAbsLawParams<typename EffLawT::Params, EffLawT::numPhases>>
template<class FluidState , class Evaluation = typename FluidState::Scalar>
Calculate non-wetting liquid phase saturation given that the rest of the fluid state has been initialized. References Opm::EffToAbsLaw< EffLawT, ParamsT >::absoluteSaturation(). ◆ Sw()
template<class EffLawT , class ParamsT = EffToAbsLawParams<typename EffLawT::Params, EffLawT::numPhases>>
template<class FluidState , class Evaluation = typename FluidState::Scalar>
Calculate wetting liquid phase saturation given that the rest of the fluid state has been initialized. References Opm::EffToAbsLaw< EffLawT, ParamsT >::absoluteSaturation(). Referenced by Opm::EffToAbsLaw< EffLawT, ParamsT >::twoPhaseSatKrn(), Opm::EffToAbsLaw< EffLawT, ParamsT >::twoPhaseSatKrw(), Opm::EffToAbsLaw< EffLawT, ParamsT >::twoPhaseSatSn(), and Opm::EffToAbsLaw< EffLawT, ParamsT >::twoPhaseSatSw(). ◆ twoPhaseSatKrn()
template<class EffLawT , class ParamsT = EffToAbsLawParams<typename EffLawT::Params, EffLawT::numPhases>>
template<class Evaluation >
◆ twoPhaseSatKrw()
template<class EffLawT , class ParamsT = EffToAbsLawParams<typename EffLawT::Params, EffLawT::numPhases>>
template<class Evaluation >
◆ twoPhaseSatPcnw()
template<class EffLawT , class ParamsT = EffToAbsLawParams<typename EffLawT::Params, EffLawT::numPhases>>
template<class Evaluation >
◆ twoPhaseSatSn()
template<class EffLawT , class ParamsT = EffToAbsLawParams<typename EffLawT::Params, EffLawT::numPhases>>
template<class Evaluation >
◆ twoPhaseSatSw()
template<class EffLawT , class ParamsT = EffToAbsLawParams<typename EffLawT::Params, EffLawT::numPhases>>
template<class Evaluation >
Member Data Documentation◆ implementsTwoPhaseApi
template<class EffLawT , class ParamsT = EffToAbsLawParams<typename EffLawT::Params, EffLawT::numPhases>>
Specify whether this material law implements the two-phase convenience API ◆ implementsTwoPhaseSatApi
template<class EffLawT , class ParamsT = EffToAbsLawParams<typename EffLawT::Params, EffLawT::numPhases>>
Specify whether this material law implements the two-phase convenience API which only depends on the phase saturations ◆ isCompositionDependent
template<class EffLawT , class ParamsT = EffToAbsLawParams<typename EffLawT::Params, EffLawT::numPhases>>
Specify whether the quantities defined by this material law are dependent on the phase composition ◆ isPressureDependent
template<class EffLawT , class ParamsT = EffToAbsLawParams<typename EffLawT::Params, EffLawT::numPhases>>
Specify whether the quantities defined by this material law are dependent on the absolute pressure ◆ isSaturationDependent
template<class EffLawT , class ParamsT = EffToAbsLawParams<typename EffLawT::Params, EffLawT::numPhases>>
Specify whether the quantities defined by this material law are saturation dependent ◆ isTemperatureDependent
template<class EffLawT , class ParamsT = EffToAbsLawParams<typename EffLawT::Params, EffLawT::numPhases>>
Specify whether the quantities defined by this material law are temperature dependent ◆ numPhases
template<class EffLawT , class ParamsT = EffToAbsLawParams<typename EffLawT::Params, EffLawT::numPhases>>
The number of fluid phases. Referenced by Opm::EffToAbsLaw< EffLawT, ParamsT >::capillaryPressures(), Opm::EffToAbsLaw< EffLawT, ParamsT >::krg(), Opm::EffToAbsLaw< EffLawT, ParamsT >::krn(), Opm::EffToAbsLaw< EffLawT, ParamsT >::krw(), Opm::EffToAbsLaw< EffLawT, ParamsT >::pcnw(), Opm::EffToAbsLaw< EffLawT, ParamsT >::relativePermeabilities(), and Opm::EffToAbsLaw< EffLawT, ParamsT >::saturations(). The documentation for this class was generated from the following file: |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||