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 >:
Opm::EnsureFinalized

List of all members.

Public Types

typedef EffLawParams::Traits Traits

Public Member Functions

void finalize ()
 Calculate all dependent quantities once the independent quantities of the parameter object have been set.
void setConfig (std::shared_ptr< EclHysteresisConfig > value)
 Set the endpoint scaling configuration object.
const EclHysteresisConfigconfig () const
 Returns the endpoint scaling configuration object.
void setDrainageParams (std::shared_ptr< EffLawParams > value, const EclEpsScalingPointsInfo< Scalar > &, EclTwoPhaseSystemType)
 Sets the parameters used for the drainage curve.
const EffLawParams & drainageParams () const
 Returns the parameters used for the drainage curve.
EffLawParams & drainageParams ()
void setImbibitionParams (std::shared_ptr< EffLawParams > value, const EclEpsScalingPointsInfo< Scalar > &, EclTwoPhaseSystemType)
 Sets the parameters used for the imbibition curve.
const EffLawParams & imbibitionParams () const
 Returns the parameters used for the imbibition curve.
EffLawParams & imbibitionParams ()
void setPcSwMdc (Scalar value)
 Set the saturation of the wetting phase where the last switch from the main drainage curve (MDC) to imbibition happend on the capillary pressure curve.
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.
void setKrwSwMdc (Scalar)
 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 setDeltaSwImbKrw (Scalar)
 Sets the saturation value which must be added if krw is calculated using the imbibition curve.
Scalar deltaSwImbKrw () const
 Returns the saturation value which must be added if krw is calculated using the imbibition curve.
void setDeltaSwImbKrn (Scalar value)
 Sets the saturation value which must be added if krn 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.
void update (Scalar pcSw, Scalar, Scalar krnSw)
 Notify the hysteresis law that a given wetting-phase saturation has been seen.

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

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

template<class EffLawT >
Scalar Opm::EclHysteresisTwoPhaseLawParams< EffLawT >::deltaSwImbKrw (  )  const [inline]

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

template<class EffLawT >
void Opm::EclHysteresisTwoPhaseLawParams< EffLawT >::setDeltaSwImbKrn ( Scalar  value  )  [inline]

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

template<class EffLawT >
void Opm::EclHysteresisTwoPhaseLawParams< EffLawT >::setDeltaSwImbKrw ( Scalar   )  [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

template<class EffLawT >
void Opm::EclHysteresisTwoPhaseLawParams< EffLawT >::update ( Scalar  pcSw,
Scalar  ,
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:

Generated on 25 Mar 2018 by  doxygen 1.6.1