Opm::SaturationPropsInterface Class Referenceabstract

#include <SaturationPropsInterface.hpp>

Inheritance diagram for Opm::SaturationPropsInterface:
Inheritance graph

Public Types

enum  PhaseIndex { Aqua = 0, Liquid = 1, Vapour = 2 }
 

Public Member Functions

virtual ~SaturationPropsInterface ()
 Virtual destructor. More...
 
virtual int numPhases () const =0
 
virtual void relperm (const int n, const double *s, const int *cells, double *kr, double *dkrds) const =0
 
virtual void capPress (const int n, const double *s, const int *cells, double *pc, double *dpcds) const =0
 
virtual void satRange (const int n, const int *cells, double *smin, double *smax) const =0
 
virtual void updateSatHyst (const int n, const int *cells, const double *s)=0
 
virtual void swatInitScaling (const int cell, const double pcow, double &swat)=0
 

Static Public Attributes

static const int MaxNumPhases = 3
 

Member Enumeration Documentation

Enumerator
Aqua 
Liquid 
Vapour 

Constructor & Destructor Documentation

virtual Opm::SaturationPropsInterface::~SaturationPropsInterface ( )
inlinevirtual

Virtual destructor.

Member Function Documentation

virtual void Opm::SaturationPropsInterface::capPress ( const int  n,
const double *  s,
const int *  cells,
double *  pc,
double *  dpcds 
) const
pure virtual

Capillary pressure.

Parameters
[in]nNumber of data points.
[in]sArray of nP saturation values.
[out]pcArray of nP capillary pressure values, array must be valid before calling.
[out]dpcdsIf non-null: array of nP^2 derivative values, array must be valid before calling. The P^2 derivative matrix is m_{ij} = {dpc_i}{ds^j}, and is output in Fortran order (m_00 m_10 m_20 m01 ...)

Implemented in Opm::SaturationPropsFromDeck.

virtual int Opm::SaturationPropsInterface::numPhases ( ) const
pure virtual
Returns
P, the number of phases.

Implemented in Opm::SaturationPropsFromDeck.

virtual void Opm::SaturationPropsInterface::relperm ( const int  n,
const double *  s,
const int *  cells,
double *  kr,
double *  dkrds 
) const
pure virtual

Relative permeability.

Parameters
[in]nNumber of data points.
[in]sArray of nP saturation values.
[out]krArray of nP relperm values, array must be valid before calling.
[out]dkrdsIf non-null: array of nP^2 relperm derivative values, array must be valid before calling. The P^2 derivative matrix is m_{ij} = {dkr_i}{ds^j}, and is output in Fortran order (m_00 m_10 m_20 m01 ...)

Implemented in Opm::SaturationPropsFromDeck.

virtual void Opm::SaturationPropsInterface::satRange ( const int  n,
const int *  cells,
double *  smin,
double *  smax 
) const
pure virtual

Obtain the range of allowable saturation values.

Parameters
[in]nNumber of data points.
[out]sminArray of nP minimum s values, array must be valid before calling.
[out]smaxArray of nP maximum s values, array must be valid before calling.

Implemented in Opm::SaturationPropsFromDeck.

virtual void Opm::SaturationPropsInterface::swatInitScaling ( const int  cell,
const double  pcow,
double &  swat 
)
pure virtual

Update capillary pressure scaling according to pressure diff. and initial water saturation.

Parameters
[in]cellCell index.
[in]pcowP_oil - P_water.
in/out]swat Water saturation. / Possibly modified Water saturation.

Implemented in Opm::SaturationPropsFromDeck.

virtual void Opm::SaturationPropsInterface::updateSatHyst ( const int  n,
const int *  cells,
const double *  s 
)
pure virtual

Update saturation state for the hysteresis tracking

Parameters
[in]nNumber of data points.
[in]sArray of nP saturation values.

Implemented in Opm::SaturationPropsFromDeck.

Member Data Documentation


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