Abstract base class for incompressible fluid and reservoir properties. More...
#include <IncompPropertiesInterface.hpp>
Public Member Functions | |
virtual int | numDimensions () const =0 |
virtual int | numCells () const =0 |
virtual const double * | porosity () const =0 |
virtual const double * | permeability () const =0 |
virtual int | numPhases () const =0 |
virtual const double * | viscosity () const =0 |
virtual const double * | density () const =0 |
Densities of fluid phases at reservoir conditions. More... | |
virtual const double * | surfaceDensity () const =0 |
Densities of fluid phases at surface conditions. More... | |
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 |
Obtain the range of allowable saturation values. More... | |
Abstract base class for incompressible fluid and reservoir properties.
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.
|
pure virtual |
[in] | n | Number of data points. |
[in] | s | Array of nP saturation values. |
[in] | cells | Array of n cell indices to be associated with the s values. |
[out] | pc | Array of nP capillary pressure values, array must be valid before calling. |
[out] | dpcds | If 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::IncompPropertiesBasic, Opm::IncompPropertiesFromDeck, Opm::IncompPropertiesSinglePhase, and Opm::IncompPropertiesShadow.
|
pure virtual |
Densities of fluid phases at reservoir conditions.
Implemented in Opm::IncompPropertiesBasic, Opm::IncompPropertiesSinglePhase, Opm::IncompPropertiesFromDeck, and Opm::IncompPropertiesShadow.
|
pure virtual |
Implemented in Opm::IncompPropertiesBasic, Opm::IncompPropertiesSinglePhase, Opm::IncompPropertiesFromDeck, and Opm::IncompPropertiesShadow.
|
pure virtual |
Implemented in Opm::IncompPropertiesBasic, Opm::IncompPropertiesSinglePhase, Opm::IncompPropertiesFromDeck, and Opm::IncompPropertiesShadow.
|
pure virtual |
Implemented in Opm::IncompPropertiesBasic, Opm::IncompPropertiesSinglePhase, Opm::IncompPropertiesFromDeck, and Opm::IncompPropertiesShadow.
|
pure virtual |
Implemented in Opm::IncompPropertiesBasic, Opm::IncompPropertiesSinglePhase, Opm::IncompPropertiesFromDeck, and Opm::IncompPropertiesShadow.
|
pure virtual |
Implemented in Opm::IncompPropertiesBasic, Opm::IncompPropertiesSinglePhase, Opm::IncompPropertiesFromDeck, and Opm::IncompPropertiesShadow.
|
pure virtual |
[in] | n | Number of data points. |
[in] | s | Array of nP saturation values. |
[in] | cells | Array of n cell indices to be associated with the s values. |
[out] | kr | Array of nP relperm values, array must be valid before calling. |
[out] | dkrds | If 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::IncompPropertiesBasic, Opm::IncompPropertiesFromDeck, Opm::IncompPropertiesSinglePhase, and Opm::IncompPropertiesShadow.
|
pure 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]].
[in] | n | Number of data points. |
[in] | cells | Array of n cell indices. |
[out] | smin | Array of nP minimum s values, array must be valid before calling. |
[out] | smax | Array of nP maximum s values, array must be valid before calling. |
Implemented in Opm::IncompPropertiesBasic, Opm::IncompPropertiesFromDeck, Opm::IncompPropertiesSinglePhase, and Opm::IncompPropertiesShadow.
|
pure virtual |
Densities of fluid phases at surface conditions.
Note: a reasonable question to ask is why there can be different densities at surface and reservoir conditions, when the phases are assumed incompressible. The answer is that even if we approximate the phases as being incompressible during simulation, the density difference between surface and reservoir may be larger. For accurate reporting and using data given in terms of surface values, we need to handle this difference.
Implemented in Opm::IncompPropertiesBasic, Opm::IncompPropertiesSinglePhase, Opm::IncompPropertiesFromDeck, and Opm::IncompPropertiesShadow.
|
pure virtual |
Implemented in Opm::IncompPropertiesBasic, Opm::IncompPropertiesSinglePhase, Opm::IncompPropertiesFromDeck, and Opm::IncompPropertiesShadow.