Opm::PLScanningCurve< ScalarT > Singleton Reference

Represents a scanning curve in the Parker-Lenhard hysteresis model. More...

#include <ParkerLenhard.hpp>

Public Types

typedef ScalarT Scalar
 

Public Member Functions

 PLScanningCurve (Scalar Swr)
 Constructs main imbibition curve. More...
 
 ~PLScanningCurve ()
 Destructor. After it was called all references to the next() curve are invalid! More...
 
PLScanningCurveprev () const
 Return the previous scanning curve, i.e. the curve with one less reversal than the current one. More...
 
PLScanningCurvenext () const
 Return the next scanning curve, i.e. the curve with one more reversal than the current one. More...
 
void setNext (Scalar Sw, Scalar pcnw, Scalar SwMic, Scalar SwMdc)
 Set the next scanning curve. More...
 
bool isValidAt_Sw (Scalar Sw)
 Returns true iff the given effective saturation Swei is within the scope of the curve, i.e. whether Swei is part of the curve's domain and the curve thus applies to Swi. More...
 
bool isImbib ()
 Returns true iff the scanning curve is a imbibition curve. More...
 
bool isDrain ()
 Returns true iff the scanning curve is a drainage curve. More...
 
int loopNum ()
 The loop number of the scanning curve. More...
 
Scalar Sw () const
 Absolute wetting-phase saturation at the scanning curve's reversal point. More...
 
Scalar pcnw () const
 Capillary pressure at the last reversal point. More...
 
Scalar SwMic ()
 Apparent saturation of the last reversal point on the pressure MIC. More...
 
Scalar SwMdc ()
 Apparent saturation of the last reversal point on the pressure MDC. More...
 

Protected Member Functions

 PLScanningCurve (PLScanningCurve *prev, PLScanningCurve *next, int loopN, Scalar Sw, Scalar pcnw, Scalar SwMic, Scalar SwMdc)
 

Detailed Description

template<class ScalarT>
singleton Opm::PLScanningCurve< ScalarT >

Represents a scanning curve in the Parker-Lenhard hysteresis model.

The class has pointers to the scanning curves with higher and lower loop number, this saving the history of the imbibitions and drainages.

Member Typedef Documentation

template<class ScalarT >
typedef ScalarT Opm::PLScanningCurve< ScalarT >::Scalar

Constructor & Destructor Documentation

template<class ScalarT >
Opm::PLScanningCurve< ScalarT >::PLScanningCurve ( Scalar  Swr)
inline

Constructs main imbibition curve.

Further scanning curves can be added with setNext.

Referenced by Opm::PLScanningCurve< ScalarT >::setNext().

template<class ScalarT >
Opm::PLScanningCurve< ScalarT >::~PLScanningCurve ( )
inline

Destructor. After it was called all references to the next() curve are invalid!

Member Function Documentation

template<class ScalarT >
bool Opm::PLScanningCurve< ScalarT >::isDrain ( )
inline

Returns true iff the scanning curve is a drainage curve.

References Opm::PLScanningCurve< ScalarT >::isImbib().

template<class ScalarT >
bool Opm::PLScanningCurve< ScalarT >::isImbib ( )
inline

Returns true iff the scanning curve is a imbibition curve.

References Opm::PLScanningCurve< ScalarT >::loopNum().

Referenced by Opm::PLScanningCurve< ScalarT >::isDrain(), and Opm::PLScanningCurve< ScalarT >::isValidAt_Sw().

template<class ScalarT >
bool Opm::PLScanningCurve< ScalarT >::isValidAt_Sw ( Scalar  Sw)
inline

Returns true iff the given effective saturation Swei is within the scope of the curve, i.e. whether Swei is part of the curve's domain and the curve thus applies to Swi.

References Opm::PLScanningCurve< ScalarT >::isImbib(), and Opm::PLScanningCurve< ScalarT >::Sw().

template<class ScalarT >
int Opm::PLScanningCurve< ScalarT >::loopNum ( )
inline

The loop number of the scanning curve.

The MDC is 0, PISC is 1, PDSC is 2, ...

Referenced by Opm::PLScanningCurve< ScalarT >::isImbib(), and Opm::PLScanningCurve< ScalarT >::setNext().

template<class ScalarT >
PLScanningCurve* Opm::PLScanningCurve< ScalarT >::next ( ) const
inline

Return the next scanning curve, i.e. the curve with one more reversal than the current one.

Referenced by Opm::PLScanningCurve< ScalarT >::PLScanningCurve().

template<class ScalarT >
Scalar Opm::PLScanningCurve< ScalarT >::pcnw ( ) const
inline

Capillary pressure at the last reversal point.

Referenced by Opm::PLScanningCurve< ScalarT >::PLScanningCurve().

template<class ScalarT >
PLScanningCurve* Opm::PLScanningCurve< ScalarT >::prev ( ) const
inline

Return the previous scanning curve, i.e. the curve with one less reversal than the current one.

Referenced by Opm::PLScanningCurve< ScalarT >::PLScanningCurve().

template<class ScalarT >
void Opm::PLScanningCurve< ScalarT >::setNext ( Scalar  Sw,
Scalar  pcnw,
Scalar  SwMic,
Scalar  SwMdc 
)
inline

Set the next scanning curve.

Next in the sense of the number of reversals from imbibition to drainage or vince versa. If this curve already has a list of next curves, it is deleted and thus forgotten.

References Opm::PLScanningCurve< ScalarT >::loopNum(), and Opm::PLScanningCurve< ScalarT >::PLScanningCurve().

template<class ScalarT >
Scalar Opm::PLScanningCurve< ScalarT >::Sw ( ) const
inline

Absolute wetting-phase saturation at the scanning curve's reversal point.

Referenced by Opm::PLScanningCurve< ScalarT >::isValidAt_Sw(), and Opm::PLScanningCurve< ScalarT >::PLScanningCurve().

template<class ScalarT >
Scalar Opm::PLScanningCurve< ScalarT >::SwMdc ( )
inline

Apparent saturation of the last reversal point on the pressure MDC.

Referenced by Opm::PLScanningCurve< ScalarT >::PLScanningCurve().

template<class ScalarT >
Scalar Opm::PLScanningCurve< ScalarT >::SwMic ( )
inline

Apparent saturation of the last reversal point on the pressure MIC.

Referenced by Opm::PLScanningCurve< ScalarT >::PLScanningCurve().


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