Loading...
Searching...
No Matches
Opm::PLScanningCurve< ScalarT > Class Template Reference

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

`#include <ParkerLenhard.hpp>`

## Public Types

using | Scalar = ScalarT

## Public Member Functions

| PLScanningCurve (const Scalar Swr)
| Constructs main imbibition curve.
PLScanningCurve & | operator= (const PLScanningCurve &)=delete
| PLScanningCurve (const PLScanningCurve &)=delete
| ~PLScanningCurve ()
| Destructor.
PLScanningCurve * | prev () const
| Return the previous scanning curve, i.e.
PLScanningCurve * | next () const
| Return the next scanning curve, i.e.
void | setNext (Scalar SwReversal, Scalar pcnwReversal, Scalar SwMiCurve, Scalar SwMdCurve)
| Set the next scanning curve.
bool | isValidAt_Sw (Scalar SwReversal) const
| Returns true iff the given effective saturation Swei is within the scope of the curve, i.e.
bool | isImbib () const
| Returns true iff the scanning curve is a imbibition curve.
bool | isDrain () const
| Returns true iff the scanning curve is a drainage curve.
int | loopNum () const
| The loop number of the scanning curve.
Scalar | Sw () const
| Absolute wetting-phase saturation at the scanning curve's reversal point.
Scalar | pcnw () const
| Capillary pressure at the last reversal point.
Scalar | SwMic () const
| Apparent saturation of the last reversal point on the pressure MIC.
Scalar | SwMdc () const
| Apparent saturation of the last reversal point on the pressure MDC.

## Protected Member Functions

| PLScanningCurve (PLScanningCurve *prevSC, PLScanningCurve *nextSC, int loopN, Scalar SwReversal, Scalar pcnwReversal, Scalar SwMiCurve, Scalar SwMdCurve)

## Detailed Description

template<class ScalarT>
class 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.

## Constructor & Destructor Documentation

## PLScanningCurve()

template<class ScalarT>

Opm::PLScanningCurve< ScalarT >::PLScanningCurve | ( | const Scalar | Swr | ) |

inline explicit

Constructs main imbibition curve.

Further scanning curves can be added with setNext.

## ~PLScanningCurve()

template<class ScalarT>

Opm::PLScanningCurve< ScalarT >::~PLScanningCurve | ( |  | ) |

inline

Destructor.

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

## Member Function Documentation

## isValidAt_Sw()

template<class ScalarT>

bool Opm::PLScanningCurve< ScalarT >::isValidAt_Sw | ( | Scalar | SwReversal | ) | const

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.

## loopNum()

template<class ScalarT>

int Opm::PLScanningCurve< ScalarT >::loopNum | ( |  | ) | const

inline

The loop number of the scanning curve.

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

## next()

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.

## prev()

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.

## setNext()

template<class ScalarT>

void Opm::PLScanningCurve< ScalarT >::setNext | ( | Scalar | SwReversal,
|  | Scalar | pcnwReversal,
|  | Scalar | SwMiCurve,
|  | Scalar | SwMdCurve )

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.

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

- opm/material/fluidmatrixinteractions/ParkerLenhard.hpp