Abstract base class for blackoil fluid and reservoir properties. More...
#include <BlackoilPropertiesInterface.hpp>
Public Member Functions | |
virtual int | numDimensions () const =0 |
virtual int | numCells () const =0 |
virtual const int * | cellPvtRegionIndex () const =0 |
Return an array containing the PVT table index for each grid cell. | |
virtual const double * | porosity () const =0 |
virtual const double * | permeability () const =0 |
virtual int | numPhases () const =0 |
virtual PhaseUsage | phaseUsage () const =0 |
virtual void | viscosity (const int n, const double *p, const double *T, const double *z, const int *cells, double *mu, double *dmudp) const =0 |
virtual void | matrix (const int n, const double *p, const double *T, const double *z, const int *cells, double *A, double *dAdp) const =0 |
virtual void | density (const int n, const double *A, const int *cells, double *rho) const =0 |
Densities of stock components at reservoir conditions. More... | |
virtual const double * | surfaceDensity (int regionIdx=0) const =0 |
Densities of stock components 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... | |
virtual void | swatInitScaling (const int cell, const double pcow, double &swat)=0 |
Update capillary pressure scaling according to pressure diff. More... | |
Abstract base class for blackoil fluid and reservoir properties.
Supports variable number of spatial dimensions, called D. Supports variable number of phases, but assumes that the number of components is equal to the 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 m_01 ...) |
Implemented in Opm::BlackoilPropertiesFromDeck, and Opm::BlackoilPropertiesBasic.
|
pure virtual |
Densities of stock components at reservoir conditions.
[in] | n | Number of data points. |
[in] | A | Array of nP^2 values, where the P^2 values for a cell give the matrix A = RB^{-1} which relates z to u by z = Au. The matrices are assumed to be in Fortran order, and are typically the result of a call to the method matrix(). |
[in] | cells | The index of the grid cell of each data point. |
[out] | rho | Array of nP density values, array must be valid before calling. |
Implemented in Opm::BlackoilPropertiesFromDeck, and Opm::BlackoilPropertiesBasic.
|
pure virtual |
[in] | n | Number of data points. |
[in] | p | Array of n pressure values. |
[in] | T | Array of n temperature values. |
[in] | z | Array of nP surface volume values. |
[in] | cells | Array of n cell indices to be associated with the p and z values. |
[out] | A | Array of nP^2 values, array must be valid before calling. The P^2 values for a cell give the matrix A = RB^{-1} which relates z to u by z = Au. The matrices are output in Fortran order. |
[out] | dAdp | If non-null: array of nP^2 matrix derivative values, array must be valid before calling. The matrices are output in Fortran order. |
Implemented in Opm::BlackoilPropertiesFromDeck, and Opm::BlackoilPropertiesBasic.
|
pure virtual |
Implemented in Opm::BlackoilPropertiesFromDeck, and Opm::BlackoilPropertiesBasic.
|
pure virtual |
Implemented in Opm::BlackoilPropertiesFromDeck, and Opm::BlackoilPropertiesBasic.
|
pure virtual |
Implemented in Opm::BlackoilPropertiesFromDeck, and Opm::BlackoilPropertiesBasic.
|
pure virtual |
Implemented in Opm::BlackoilPropertiesFromDeck, and Opm::BlackoilPropertiesBasic.
|
pure virtual |
Implemented in Opm::BlackoilPropertiesFromDeck, and Opm::BlackoilPropertiesBasic.
|
pure virtual |
Implemented in Opm::BlackoilPropertiesFromDeck, and Opm::BlackoilPropertiesBasic.
|
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 m_01 ...) |
Implemented in Opm::BlackoilPropertiesFromDeck, and Opm::BlackoilPropertiesBasic.
|
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::BlackoilPropertiesFromDeck, and Opm::BlackoilPropertiesBasic.
|
pure virtual |
Densities of stock components at surface conditions.
Implemented in Opm::BlackoilPropertiesFromDeck, and Opm::BlackoilPropertiesBasic.
|
pure virtual |
Update capillary pressure scaling according to pressure diff.
and initial water saturation.
[in] | cell | Cell index. |
[in] | pcow | P_oil - P_water. |
[in/out] | swat Water saturation. / Possibly modified Water saturation. |
Implemented in Opm::BlackoilPropertiesFromDeck, and Opm::BlackoilPropertiesBasic.
|
pure virtual |
[in] | n | Number of data points. |
[in] | p | Array of n pressure values. |
[in] | T | Array of n temperature values. |
[in] | z | Array of nP surface volume values. |
[in] | cells | Array of n cell indices to be associated with the p and z values. |
[out] | mu | Array of nP viscosity values, array must be valid before calling. |
[out] | dmudp | If non-null: array of nP viscosity derivative values, array must be valid before calling. |
Implemented in Opm::BlackoilPropertiesFromDeck, and Opm::BlackoilPropertiesBasic.