Loading...
Searching...
No Matches
Opm::EclHysteresisTwoPhaseLawParams< EffLawT > Class Template Reference

A default implementation of the parameters for the material law which implements the ECL relative permeability and capillary pressure hysteresis. More...

`#include <EclHysteresisTwoPhaseLawParams.hpp>`

Inheritance diagram for Opm::EclHysteresisTwoPhaseLawParams< EffLawT >:

## Public Types

using | Traits = typename EffLawParams::Traits

## Public Member Functions

void | finalize ()
| Calculate all dependent quantities once the independent quantities of the parameter object have been set.
void | setConfig (const EclHysteresisConfig &value)
| Set the hysteresis configuration object.
const EclHysteresisConfig & | config () const
| Returns the hysteresis configuration object.
void | setWagConfig (std::shared_ptr< WagHysteresisConfig::WagHysteresisConfigRecord > value)
| Set the WAG-hysteresis configuration object.
const WagHysteresisConfig::WagHysteresisConfigRecord & | wagConfig () const
| Returns the WAG-hysteresis configuration object.
void | setDrainageParams (const EffLawParams &value, const EclEpsScalingPointsInfo< Scalar > &info, EclTwoPhaseSystemType twoPhaseSystem)
| Sets the parameters used for the drainage curve.
const EffLawParams & | drainageParams () const
| Returns the parameters used for the drainage curve.
EffLawParams & | drainageParams ()
void | setImbibitionParams (const EffLawParams &value, const EclEpsScalingPointsInfo< Scalar > &info, EclTwoPhaseSystemType twoPhaseSystem)
| Sets the parameters used for the imbibition curve.
const EffLawParams & | imbibitionParams () const
| Returns the parameters used for the imbibition curve.
EffLawParams & | imbibitionParams ()
Scalar | pcSwMdc () const
| Get the saturation of the wetting phase where the last switch from the main drainage curve to imbibition happend on the capillary pressure curve.
Scalar | pcSwMic () const
bool | initialImb () const
| Status of initial process.
void | setKrwSwMdc (Scalar value)
| Set the saturation of the wetting phase where the last switch from the main drainage curve (MDC) to imbibition happend on the relperm curve for the wetting phase.
Scalar | krwSwMdc () const
| Get the saturation of the wetting phase where the last switch from the main drainage curve to imbibition happend on the relperm curve for the wetting phase.
void | setKrnSwMdc (Scalar value)
| Set the saturation of the wetting phase where the last switch from the main drainage curve (MDC) to imbibition happend on the relperm curve for the non-wetting phase.
Scalar | krnSwMdc () const
| Get the saturation of the wetting phase where the last switch from the main drainage curve to imbibition happend on the relperm curve for the non-wetting phase.
void | setDeltaSwImbKrn (Scalar value)
| Sets the saturation value which must be added if krw is calculated using the imbibition curve.
Scalar | deltaSwImbKrn () const
| Returns the saturation value which must be added if krn is calculated using the imbibition curve.
Scalar | Swcri () const
Scalar | Swcrd () const
Scalar | Swmaxi () const
Scalar | Sncri () const
Scalar | Sncrd () const
Scalar | Sncrt () const
Scalar | Swcrt () const
Scalar | SnTrapped (bool maximumTrapping) const
Scalar | SnStranded (Scalar sg, Scalar krg) const
Scalar | SwTrapped () const
Scalar | SncrtWAG () const
Scalar | Snmaxd () const
Scalar | Swmaxd () const
Scalar | Snhy () const
Scalar | Swhy () const
Scalar | Swco () const
Scalar | krnWght () const
Scalar | krwWght () const
Scalar | krwdMax () const
Scalar | KrwdHy () const
Scalar | Krwd_sncri () const
Scalar | Krwi_snmax () const
Scalar | Krwi_snrmax () const
Scalar | Krwd_sncrt () const
Scalar | pcWght () const
Scalar | curvatureCapPrs () const
bool | gasOilHysteresisWAG () const
Scalar | reductionDrain () const
Scalar | reductionDrainNxt () const
bool | threePhaseState () const
Scalar | nState () const
Scalar | krnSwDrainRevert () const
Scalar | krnDrainStart () const
Scalar | krnDrainStartNxt () const
Scalar | krnImbStart () const
Scalar | krnImbStartNxt () const
Scalar | krnSwWAG () const
Scalar | krnSwDrainStart () const
Scalar | krnSwDrainStartNxt () const
Scalar | krnSwImbStart () const
Scalar | tolWAG () const
template<class Evaluation>
Evaluation | computeSwf (const Evaluation &Sw) const
template<class Evaluation>
Evaluation | computeKrImbWAG (const Evaluation &Sw) const
bool | update (Scalar pcSw, Scalar krwSw, Scalar krnSw)
| Notify the hysteresis law that a given wetting-phase saturation has been seen.
template<class Serializer>
void | serializeOp (Serializer &serializer)
bool | operator== (const EclHysteresisTwoPhaseLawParams &rhs) const
Public Member Functions inherited from Opm::EnsureFinalized
OPM_HOST_DEVICE void | finalize ()
| Mark the object as finalized.

## Static Public Member Functions

static EclHysteresisTwoPhaseLawParams | serializationTestObject ()

## Additional Inherited Members

Protected Member Functions inherited from Opm::EnsureFinalized
OPM_HOST_DEVICE | EnsureFinalized ()
| The default constructor.
OPM_HOST_DEVICE void | check () const

## Detailed Description

template<class EffLawT>
class Opm::EclHysteresisTwoPhaseLawParams< EffLawT >

A default implementation of the parameters for the material law which implements the ECL relative permeability and capillary pressure hysteresis.

## Member Function Documentation

## deltaSwImbKrn()

template<class EffLawT>

Scalar Opm::EclHysteresisTwoPhaseLawParams< EffLawT >::deltaSwImbKrn | ( |  | ) | const

inline

Returns the saturation value which must be added if krn is calculated using the imbibition curve.

This means that krn(Sw) = krn_drainage(Sw) if Sw < SwMdc and krn(Sw) = krn_imbibition(Sw + Sw_shift,krn) else

## setDeltaSwImbKrn()

template<class EffLawT>

void Opm::EclHysteresisTwoPhaseLawParams< EffLawT >::setDeltaSwImbKrn | ( | Scalar | value | ) |

inline

Sets the saturation value which must be added if krw is calculated using the imbibition curve.

This means that krw(Sw) = krw_drainage(Sw) if Sw < SwMdc and krw(Sw) = krw_imbibition(Sw + Sw_shift,krw) else

Returns the saturation value which must be added if krw is calculated using the imbibition curve.

This means that krw(Sw) = krw_drainage(Sw) if Sw < SwMdc and krw(Sw) = krw_imbibition(Sw + Sw_shift,krw) else

Sets the saturation value which must be added if krn is calculated using the imbibition curve.

This means that krn(Sw) = krn_drainage(Sw) if Sw < SwMdc and krn(Sw) = krn_imbibition(Sw + Sw_shift,krn) else

## update()

template<class EffLawT>

bool Opm::EclHysteresisTwoPhaseLawParams< EffLawT >::update | ( | Scalar | pcSw,
|  | Scalar | krwSw,
|  | Scalar | krnSw )

inline

Notify the hysteresis law that a given wetting-phase saturation has been seen.

This updates the scanning curves and the imbibition<->drainage reversal points as appropriate.

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

- opm/material/fluidmatrixinteractions/EclHysteresisTwoPhaseLawParams.hpp