Concrete class implementing the blackoil property interface, reading all data and properties from eclipse deck input. More...
#include <BlackoilPropertiesFromDeck.hpp>
Public Types | |
typedef SaturationPropsFromDeck::MaterialLawManager | MaterialLawManager |
Public Member Functions | |
BlackoilPropertiesFromDeck (const Opm::Deck &deck, const Opm::EclipseState &eclState, const UnstructuredGrid &grid, bool init_rock=true) | |
Initialize from deck and grid. More... | |
BlackoilPropertiesFromDeck (const Opm::Deck &deck, const Opm::EclipseState &eclState, const UnstructuredGrid &grid, const ParameterGroup ¶m, bool init_rock=true) | |
Initialize from deck, grid and parameters. More... | |
BlackoilPropertiesFromDeck (const Opm::Deck &deck, const Opm::EclipseState &eclState, int number_of_cells, const int *global_cell, const int *cart_dims, bool init_rock=true) | |
BlackoilPropertiesFromDeck (const Opm::Deck &deck, const Opm::EclipseState &eclState, int number_of_cells, const int *global_cell, const int *cart_dims, const ParameterGroup ¶m, bool init_rock=true) | |
BlackoilPropertiesFromDeck (const Opm::Deck &deck, const Opm::EclipseState &eclState, std::shared_ptr< MaterialLawManager > materialLawManager, int number_of_cells, const int *global_cell, const int *cart_dims, const ParameterGroup ¶m, bool init_rock=true) | |
virtual | ~BlackoilPropertiesFromDeck () |
Destructor. | |
virtual int | numDimensions () const |
virtual int | numCells () const |
virtual const int * | cellPvtRegionIndex () const |
Return an array containing the PVT table index for each grid cell. | |
virtual const double * | porosity () const |
virtual const double * | permeability () const |
virtual int | numPhases () const |
virtual PhaseUsage | phaseUsage () const |
virtual void | viscosity (const int n, const double *p, const double *T, const double *z, const int *cells, double *mu, double *dmudp) const |
virtual void | matrix (const int n, const double *p, const double *T, const double *z, const int *cells, double *A, double *dAdp) const |
virtual void | density (const int n, const double *A, const int *cells, double *rho) const |
Densities of stock components at reservoir conditions. More... | |
virtual const double * | surfaceDensity (int cellIdx=0) const |
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 |
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 |
Obtain the range of allowable saturation values. More... | |
virtual void | swatInitScaling (const int cell, const double pcow, double &swat) |
Update capillary pressure scaling according to pressure diff. More... | |
const OilPvtMultiplexer< double > & | oilPvt () const |
const GasPvtMultiplexer< double > & | gasPvt () const |
const WaterPvtMultiplexer < double > & | waterPvt () const |
Concrete class implementing the blackoil property interface, reading all data and properties from eclipse deck input.
Opm::BlackoilPropertiesFromDeck::BlackoilPropertiesFromDeck | ( | const Opm::Deck & | deck, |
const Opm::EclipseState & | eclState, | ||
const UnstructuredGrid & | grid, | ||
bool | init_rock = true |
||
) |
Initialize from deck and grid.
[in] | deck | Deck input parser |
[in] | grid | Grid 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. |
Opm::BlackoilPropertiesFromDeck::BlackoilPropertiesFromDeck | ( | const Opm::Deck & | deck, |
const Opm::EclipseState & | eclState, | ||
const UnstructuredGrid & | grid, | ||
const ParameterGroup & | param, | ||
bool | init_rock = true |
||
) |
Initialize from deck, grid and parameters.
[in] | deck | Deck input parser |
[in] | grid | Grid 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. |
[in] | param | Parameters. Accepted parameters include: pvt_tab_size (200) number of uniform sample points for dead-oil pvt tables. sat_tab_size (200) number of uniform sample points for saturation tables. threephase_model("simple") three-phase relperm model (accepts "simple" and "stone2"). For both size parameters, a 0 or negative value indicates that no spline fitting is to be done, and the input fluid data used directly for linear interpolation. |
|
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 ...) |
[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 ...) |
Implements Opm::BlackoilPropertiesInterface.
|
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. |
Implements Opm::BlackoilPropertiesInterface.
|
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. |
Implements Opm::BlackoilPropertiesInterface.
|
virtual |
Implements Opm::BlackoilPropertiesInterface.
|
virtual |
Implements Opm::BlackoilPropertiesInterface.
|
virtual |
Implements Opm::BlackoilPropertiesInterface.
|
virtual |
Implements Opm::BlackoilPropertiesInterface.
|
virtual |
Implements Opm::BlackoilPropertiesInterface.
|
virtual |
Implements Opm::BlackoilPropertiesInterface.
|
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 ...) |
[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 ...) |
Implements Opm::BlackoilPropertiesInterface.
|
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. |
Implements Opm::BlackoilPropertiesInterface.
|
virtual |
Densities of stock components at surface conditions.
Implements Opm::BlackoilPropertiesInterface.
|
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. |
Implements Opm::BlackoilPropertiesInterface.
|
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. |
Implements Opm::BlackoilPropertiesInterface.