#include <IncompPropertiesBasic.hpp>
|
| IncompPropertiesBasic (const parameter::ParameterGroup ¶m, const int dim, const int num_cells) |
|
| IncompPropertiesBasic (const int num_phases, const SaturationPropsBasic::RelPermFunc &relpermfunc, const std::vector< double > &rho, const std::vector< double > &mu, const double porosity, const double permeability, const int dim, const int num_cells) |
|
virtual | ~IncompPropertiesBasic () |
| 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 |
|
Concrete class implementing the incompressible property interface, reading all necessary input from parameters.
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:
in which denotes saturation of phase i in cell j.
Opm::IncompPropertiesBasic::IncompPropertiesBasic |
( |
const parameter::ParameterGroup & |
param, |
|
|
const int |
dim, |
|
|
const int |
num_cells |
|
) |
| |
Construct from parameters. Note that all values passed through param should be in convenient units, as documented below. The following parameters are accepted (defaults):
num_phases (2) – Must be 1 or 2.
relperm_func ("Linear") – Must be "Constant", "Linear" or "Quadratic".
rho1 rho2 , rho3 (1.0e3) – Density in kg/m^3.
mu1 mu2 , mu3 (1.0) – Viscosity in cP.
porosity (1.0) – Porosity.
permeability (100.0) – Permeability in mD.
Opm::IncompPropertiesBasic::IncompPropertiesBasic |
( |
const int |
num_phases, |
|
|
const SaturationPropsBasic::RelPermFunc & |
relpermfunc, |
|
|
const std::vector< double > & |
rho, |
|
|
const std::vector< double > & |
mu, |
|
|
const double |
porosity, |
|
|
const double |
permeability, |
|
|
const int |
dim, |
|
|
const int |
num_cells |
|
) |
| |
Construct properties from arguments. Note that all values should be given in SI units for this constructor. - Parameters
-
[in] | num_phases | Must be 1 or 2. |
[in] | rho | Phase densities in kg/m^3. |
[in] | mu | Phase viscosities in Pa*s. |
[in] | porosity | Must be in [0,1]. |
[in] | permeability | Permeability in m^2. |
[in] | dim | Must be 2 or 3. |
[in] | num_cells | The number of grid cells. |
virtual Opm::IncompPropertiesBasic::~IncompPropertiesBasic |
( |
| ) |
|
|
virtual |
virtual void Opm::IncompPropertiesBasic::capPress |
( |
const int |
n, |
|
|
const double * |
s, |
|
|
const int * |
cells, |
|
|
double * |
pc, |
|
|
double * |
dpcds |
|
) |
| const |
|
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} = {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::IncompPropertiesBasic::density |
( |
| ) |
const |
|
virtual |
virtual int Opm::IncompPropertiesBasic::numCells |
( |
| ) |
const |
|
virtual |
virtual int Opm::IncompPropertiesBasic::numDimensions |
( |
| ) |
const |
|
virtual |
virtual int Opm::IncompPropertiesBasic::numPhases |
( |
| ) |
const |
|
virtual |
virtual const double* Opm::IncompPropertiesBasic::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::IncompPropertiesBasic::porosity |
( |
| ) |
const |
|
virtual |
virtual void Opm::IncompPropertiesBasic::relperm |
( |
const int |
n, |
|
|
const double * |
s, |
|
|
const int * |
cells, |
|
|
double * |
kr, |
|
|
double * |
dkrds |
|
) |
| const |
|
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} = {dkr_i}{ds^j}, and is output in Fortran order (m_00 m_10 m_20 m_01 ...) |
Implements Opm::IncompPropertiesInterface.
virtual void Opm::IncompPropertiesBasic::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] | 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. |
Implements Opm::IncompPropertiesInterface.
virtual const double* Opm::IncompPropertiesBasic::surfaceDensity |
( |
| ) |
const |
|
virtual |
virtual const double* Opm::IncompPropertiesBasic::viscosity |
( |
| ) |
const |
|
virtual |
The documentation for this class was generated from the following file:
|