Opm::IncompPropertiesFromDeck Class Reference

#include <IncompPropertiesFromDeck.hpp>

Inheritance diagram for Opm::IncompPropertiesFromDeck:
Inheritance graph

Public Member Functions

 IncompPropertiesFromDeck (Opm::DeckConstPtr deck, Opm::EclipseStateConstPtr eclState, const UnstructuredGrid &grid)
 
virtual ~IncompPropertiesFromDeck ()
 Destructor. More...
 
virtual int numDimensions () const
 
virtual int numCells () const
 
virtual const double * porosity () const
 
virtual const double * permeability () const
 
virtual int numPhases () const
 
virtual const double * viscosity () const
 
virtual const double * density () const
 
virtual const double * surfaceDensity () const
 
virtual void relperm (const int n, const double *s, const int *cells, double *kr, double *dkrds) const
 
virtual void capPress (const int n, const double *s, const int *cells, double *pc, double *dpcds) const
 
virtual void satRange (const int n, const int *cells, double *smin, double *smax) const
 

Detailed Description

Concrete class implementing the incompressible property interface, reading all data and properties from eclipse deck input.

Supports variable number of spatial dimensions, called D. Supports variable number of phases, called P. In general, when arguments call for n values of some vector or matrix property, such as saturation, they shall always be ordered cellwise: [s^1_0 s^2_0 s^3_0 s^1_1 s^2_2 ... ] in which s^i_j denotes saturation of phase i in cell j.

Constructor & Destructor Documentation

Opm::IncompPropertiesFromDeck::IncompPropertiesFromDeck ( Opm::DeckConstPtr  deck,
Opm::EclipseStateConstPtr  eclState,
const UnstructuredGrid grid 
)

Initialize from deck and grid.

Parameters
deckDeck input parser
eclStateThe EclipseState (processed deck) produced by the opm-parser code
gridGrid to which property object applies, needed for the mapping from cell indices (typically from a processed grid) to logical cartesian indices consistent with the deck.
virtual Opm::IncompPropertiesFromDeck::~IncompPropertiesFromDeck ( )
virtual

Destructor.

Member Function Documentation

virtual void Opm::IncompPropertiesFromDeck::capPress ( const int  n,
const double *  s,
const int *  cells,
double *  pc,
double *  dpcds 
) const
virtual
Parameters
[in]nNumber of data points.
[in]sArray of nP saturation values.
[in]cellsArray of n cell indices to be associated with the s 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 m_01 ...)

Implements Opm::IncompPropertiesInterface.

virtual const double* Opm::IncompPropertiesFromDeck::density ( ) const
virtual

Densities of fluid phases at reservoir conditions.

Returns
Array of P density values.

Implements Opm::IncompPropertiesInterface.

virtual int Opm::IncompPropertiesFromDeck::numCells ( ) const
virtual
Returns
N, the number of cells.

Implements Opm::IncompPropertiesInterface.

virtual int Opm::IncompPropertiesFromDeck::numDimensions ( ) const
virtual
Returns
D, the number of spatial dimensions.

Implements Opm::IncompPropertiesInterface.

virtual int Opm::IncompPropertiesFromDeck::numPhases ( ) const
virtual
Returns
P, the number of phases (also the number of components).

Implements Opm::IncompPropertiesInterface.

virtual const double* Opm::IncompPropertiesFromDeck::permeability ( ) const
virtual
Returns
Array of ND^2 permeability values. The D^2 permeability values for a cell are organized as a matrix, which is symmetric (so ordering does not matter).

Implements Opm::IncompPropertiesInterface.

virtual const double* Opm::IncompPropertiesFromDeck::porosity ( ) const
virtual
Returns
Array of N porosity values.

Implements Opm::IncompPropertiesInterface.

virtual void Opm::IncompPropertiesFromDeck::relperm ( const int  n,
const double *  s,
const int *  cells,
double *  kr,
double *  dkrds 
) const
virtual
Parameters
[in]nNumber of data points.
[in]sArray of nP saturation values.
[in]cellsArray of n cell indices to be associated with the s 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 m_01 ...)

Implements Opm::IncompPropertiesInterface.

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

Obtain the range of allowable saturation values. In cell cells[i], saturation of phase p is allowed to be in the interval [smin[i*P + p], smax[i*P + p]].

Parameters
[in]nNumber of data points.
[in]cellsArray of n cell indices.
[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.

Implements Opm::IncompPropertiesInterface.

virtual const double* Opm::IncompPropertiesFromDeck::surfaceDensity ( ) const
virtual

Densities of fluid phases at surface conditions.

Returns
Array of P density values.

Implements Opm::IncompPropertiesInterface.

virtual const double* Opm::IncompPropertiesFromDeck::viscosity ( ) const
virtual
Returns
Array of P viscosity values.

Implements Opm::IncompPropertiesInterface.


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