#include <BlackoilPropertiesInterface.hpp>
|
virtual | ~BlackoilPropertiesInterface () |
|
virtual int | numDimensions () const =0 |
|
virtual int | numCells () const =0 |
|
virtual const int * | cellPvtRegionIndex () const =0 |
|
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 |
|
virtual const double * | surfaceDensity (int regionIdx=0) 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 | swatInitScaling (const int cell, const double pcow, double &swat)=0 |
|
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.
◆ ~BlackoilPropertiesInterface()
virtual Opm::BlackoilPropertiesInterface::~BlackoilPropertiesInterface |
( |
| ) |
|
|
inlinevirtual |
◆ capPress()
virtual void Opm::BlackoilPropertiesInterface::capPress |
( |
const int |
n, |
|
|
const double * |
s, |
|
|
const int * |
cells, |
|
|
double * |
pc, |
|
|
double * |
dpcds |
|
) |
| const |
|
pure virtual |
- Parameters
-
[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} = \frac{dpc_i}{ds^j}, and is output in Fortran order (m_00 m_10 m_20 m_01 ...) |
Implemented in Opm::BlackoilPropertiesBasic, and Opm::BlackoilPropertiesFromDeck.
◆ cellPvtRegionIndex()
virtual const int * Opm::BlackoilPropertiesInterface::cellPvtRegionIndex |
( |
| ) |
const |
|
pure virtual |
◆ density()
virtual void Opm::BlackoilPropertiesInterface::density |
( |
const int |
n, |
|
|
const double * |
A, |
|
|
const int * |
cells, |
|
|
double * |
rho |
|
) |
| const |
|
pure virtual |
Densities of stock components at reservoir conditions. - Parameters
-
[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::BlackoilPropertiesBasic, and Opm::BlackoilPropertiesFromDeck.
◆ matrix()
virtual void Opm::BlackoilPropertiesInterface::matrix |
( |
const int |
n, |
|
|
const double * |
p, |
|
|
const double * |
T, |
|
|
const double * |
z, |
|
|
const int * |
cells, |
|
|
double * |
A, |
|
|
double * |
dAdp |
|
) |
| const |
|
pure virtual |
- Parameters
-
[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::BlackoilPropertiesBasic, and Opm::BlackoilPropertiesFromDeck.
◆ numCells()
virtual int Opm::BlackoilPropertiesInterface::numCells |
( |
| ) |
const |
|
pure virtual |
◆ numDimensions()
virtual int Opm::BlackoilPropertiesInterface::numDimensions |
( |
| ) |
const |
|
pure virtual |
◆ numPhases()
virtual int Opm::BlackoilPropertiesInterface::numPhases |
( |
| ) |
const |
|
pure virtual |
◆ permeability()
virtual const double * Opm::BlackoilPropertiesInterface::permeability |
( |
| ) |
const |
|
pure virtual |
◆ phaseUsage()
virtual PhaseUsage Opm::BlackoilPropertiesInterface::phaseUsage |
( |
| ) |
const |
|
pure virtual |
◆ porosity()
virtual const double * Opm::BlackoilPropertiesInterface::porosity |
( |
| ) |
const |
|
pure virtual |
◆ relperm()
virtual void Opm::BlackoilPropertiesInterface::relperm |
( |
const int |
n, |
|
|
const double * |
s, |
|
|
const int * |
cells, |
|
|
double * |
kr, |
|
|
double * |
dkrds |
|
) |
| const |
|
pure virtual |
- Parameters
-
[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} = \frac{dkr_i}{ds^j}, and is output in Fortran order (m_00 m_10 m_20 m_01 ...) |
Implemented in Opm::BlackoilPropertiesBasic, and Opm::BlackoilPropertiesFromDeck.
◆ satRange()
virtual void Opm::BlackoilPropertiesInterface::satRange |
( |
const int |
n, |
|
|
const int * |
cells, |
|
|
double * |
smin, |
|
|
double * |
smax |
|
) |
| const |
|
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]]. - Parameters
-
[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::BlackoilPropertiesBasic, and Opm::BlackoilPropertiesFromDeck.
◆ surfaceDensity()
virtual const double * Opm::BlackoilPropertiesInterface::surfaceDensity |
( |
int |
regionIdx = 0 | ) |
const |
|
pure virtual |
◆ swatInitScaling()
virtual void Opm::BlackoilPropertiesInterface::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] | cell | Cell index. |
[in] | pcow | P_oil - P_water. |
| [in/out] | swat Water saturation. / Possibly modified Water saturation.
|
Implemented in Opm::BlackoilPropertiesBasic, and Opm::BlackoilPropertiesFromDeck.
◆ viscosity()
virtual void Opm::BlackoilPropertiesInterface::viscosity |
( |
const int |
n, |
|
|
const double * |
p, |
|
|
const double * |
T, |
|
|
const double * |
z, |
|
|
const int * |
cells, |
|
|
double * |
mu, |
|
|
double * |
dmudp |
|
) |
| const |
|
pure virtual |
- Parameters
-
[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::BlackoilPropertiesBasic, and Opm::BlackoilPropertiesFromDeck.
The documentation for this class was generated from the following file:
|