Opm::RegularizedBrooksCorey< TraitsT, ParamsT > Class Template Reference Implementation of the regularized Brooks-Corey capillary pressure / relative permeability <-> saturation relation. More...
Inheritance diagram for Opm::RegularizedBrooksCorey< TraitsT, ParamsT >:
Detailed Descriptiontemplate<class TraitsT, class ParamsT = RegularizedBrooksCoreyParams<TraitsT>> class Opm::RegularizedBrooksCorey< TraitsT, ParamsT > Implementation of the regularized Brooks-Corey capillary pressure / relative permeability <-> saturation relation. This class bundles the "raw" curves as static members and doesn't concern itself converting absolute to effective saturations and vice versa. In order to avoid very steep gradients the marginal values are "regularized". This means that in stead of following the curve of the material law in these regions, some linear approximation is used. Doing this is not worse than following the material law. E.g. for very low wetting phase values the material laws predict infinite values for which is completely unphysical. In case of very high wetting phase saturations the difference between regularized and "pure" material law is not big. Regularizing has the additional benefit of being numerically friendly: Newton's method does not like infinite gradients. The implementation is accomplished as follows:
Member Typedef Documentation◆ Params
template<class TraitsT , class ParamsT = RegularizedBrooksCoreyParams<TraitsT>>
◆ Scalar
template<class TraitsT , class ParamsT = RegularizedBrooksCoreyParams<TraitsT>>
◆ Traits
template<class TraitsT , class ParamsT = RegularizedBrooksCoreyParams<TraitsT>>
Member Function Documentation◆ capillaryPressures()
template<class TraitsT , class ParamsT = RegularizedBrooksCoreyParams<TraitsT>>
template<class Container , class FluidState >
The capillary pressure-saturation curves depending on absolute saturations.
◆ krn()
template<class TraitsT , class ParamsT = RegularizedBrooksCoreyParams<TraitsT>>
template<class FluidState , class Evaluation = typename FluidState::Scalar>
Regularized version of the relative permeability of the non-wetting phase of the Brooks-Corey curves. The approach for regularization is very similar to the one of the capillary pressure, but it does not avoid kinks:
References Opm::RegularizedBrooksCorey< TraitsT, ParamsT >::Sw(), and Opm::RegularizedBrooksCorey< TraitsT, ParamsT >::twoPhaseSatKrn(). Referenced by Opm::RegularizedBrooksCorey< TraitsT, ParamsT >::twoPhaseSatKrnInv(). ◆ krw()
template<class TraitsT , class ParamsT = RegularizedBrooksCoreyParams<TraitsT>>
template<class FluidState , class Evaluation = typename FluidState::Scalar>
Regularized version of the relative permeability of the wetting phase of the Brooks-Corey curves. The approach for regularization is very similar to the one of the capillary pressure, but it does not avoid kinks:
References Opm::RegularizedBrooksCorey< TraitsT, ParamsT >::Sw(), and Opm::RegularizedBrooksCorey< TraitsT, ParamsT >::twoPhaseSatKrw(). Referenced by Opm::RegularizedBrooksCorey< TraitsT, ParamsT >::twoPhaseSatKrwInv(). ◆ pcnw()
template<class TraitsT , class ParamsT = RegularizedBrooksCoreyParams<TraitsT>>
template<class FluidState , class Evaluation = typename FluidState::Scalar>
A regularized Brooks-Corey capillary pressure-saturation curve. This is a regularized variant of the Brooks-Corey curve:
References Opm::RegularizedBrooksCorey< TraitsT, ParamsT >::Sw(), and Opm::RegularizedBrooksCorey< TraitsT, ParamsT >::twoPhaseSatPcnw(). Referenced by Opm::RegularizedBrooksCorey< TraitsT, ParamsT >::twoPhaseSatSn(), and Opm::RegularizedBrooksCorey< TraitsT, ParamsT >::twoPhaseSatSw(). ◆ relativePermeabilities()
template<class TraitsT , class ParamsT = RegularizedBrooksCoreyParams<TraitsT>>
template<class Container , class FluidState >
The relative permeability-saturation curves depending on absolute saturations.
◆ saturations()
template<class TraitsT , class ParamsT = RegularizedBrooksCoreyParams<TraitsT>>
template<class Container , class FluidState >
Calculate the saturations of the phases starting from their pressure differences. ◆ Sn()
template<class TraitsT , class ParamsT = RegularizedBrooksCoreyParams<TraitsT>>
template<class FluidState , class Evaluation = typename FluidState::Scalar>
Calculate the non-wetting phase saturations depending on the phase pressures. ◆ Sw()
template<class TraitsT , class ParamsT = RegularizedBrooksCoreyParams<TraitsT>>
template<class FluidState , class Evaluation = typename FluidState::Scalar>
A regularized Brooks-Corey saturation-capillary pressure curve. This is the inverse of the pcnw() method. References Opm::RegularizedBrooksCorey< TraitsT, ParamsT >::twoPhaseSatSw(). Referenced by Opm::RegularizedBrooksCorey< TraitsT, ParamsT >::krn(), Opm::RegularizedBrooksCorey< TraitsT, ParamsT >::krw(), Opm::RegularizedBrooksCorey< TraitsT, ParamsT >::pcnw(), Opm::RegularizedBrooksCorey< TraitsT, ParamsT >::twoPhaseSatKrn(), Opm::RegularizedBrooksCorey< TraitsT, ParamsT >::twoPhaseSatKrw(), Opm::RegularizedBrooksCorey< TraitsT, ParamsT >::twoPhaseSatPcnw(), and Opm::RegularizedBrooksCorey< TraitsT, ParamsT >::twoPhaseSatSw(). ◆ twoPhaseSatKrn()
template<class TraitsT , class ParamsT = RegularizedBrooksCoreyParams<TraitsT>>
template<class Evaluation >
◆ twoPhaseSatKrnInv()
template<class TraitsT , class ParamsT = RegularizedBrooksCoreyParams<TraitsT>>
template<class Evaluation >
◆ twoPhaseSatKrw()
template<class TraitsT , class ParamsT = RegularizedBrooksCoreyParams<TraitsT>>
template<class Evaluation >
◆ twoPhaseSatKrwInv()
template<class TraitsT , class ParamsT = RegularizedBrooksCoreyParams<TraitsT>>
template<class Evaluation >
◆ twoPhaseSatPcnw()
template<class TraitsT , class ParamsT = RegularizedBrooksCoreyParams<TraitsT>>
template<class Evaluation >
◆ twoPhaseSatSn()
template<class TraitsT , class ParamsT = RegularizedBrooksCoreyParams<TraitsT>>
template<class Evaluation >
◆ twoPhaseSatSw()
template<class TraitsT , class ParamsT = RegularizedBrooksCoreyParams<TraitsT>>
template<class Evaluation >
References Opm::RegularizedBrooksCorey< TraitsT, ParamsT >::pcnw(), Opm::RegularizedBrooksCorey< TraitsT, ParamsT >::Sw(), and Opm::BrooksCorey< TraitsT, ParamsT >::twoPhaseSatSw(). Referenced by Opm::RegularizedBrooksCorey< TraitsT, ParamsT >::Sw(), and Opm::RegularizedBrooksCorey< TraitsT, ParamsT >::twoPhaseSatSn(). Member Data Documentation◆ implementsTwoPhaseApi
template<class TraitsT , class ParamsT = RegularizedBrooksCoreyParams<TraitsT>>
Specify whether this material law implements the two-phase convenience API ◆ implementsTwoPhaseSatApi
template<class TraitsT , class ParamsT = RegularizedBrooksCoreyParams<TraitsT>>
Specify whether this material law implements the two-phase convenience API which only depends on the phase saturations ◆ isCompositionDependent
template<class TraitsT , class ParamsT = RegularizedBrooksCoreyParams<TraitsT>>
Specify whether the quantities defined by this material law are dependent on the phase composition ◆ isPressureDependent
template<class TraitsT , class ParamsT = RegularizedBrooksCoreyParams<TraitsT>>
Specify whether the quantities defined by this material law are dependent on the absolute pressure ◆ isSaturationDependent
template<class TraitsT , class ParamsT = RegularizedBrooksCoreyParams<TraitsT>>
Specify whether the quantities defined by this material law are saturation dependent ◆ isTemperatureDependent
template<class TraitsT , class ParamsT = RegularizedBrooksCoreyParams<TraitsT>>
Specify whether the quantities defined by this material law are temperature dependent ◆ numPhases
template<class TraitsT , class ParamsT = RegularizedBrooksCoreyParams<TraitsT>>
The number of fluid phases. The documentation for this class was generated from the following file: |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||