Public Member Functions | |
IncompPropertiesShadow (const IncompPropertiesInterface &original) | |
Shadow another set of properties. More... | |
virtual int | numDimensions () const |
Implement all methods from the IncompPropertiesInterface. More... | |
virtual int | numCells () const |
virtual const double * | porosity () const |
Return the new value if indicated in the bitfield, otherwise use the original value from the other object. | |
virtual const double * | permeability () const |
virtual int | numPhases () const |
virtual const double * | viscosity () const |
virtual const double * | density () const |
Densities of fluid phases at reservoir conditions. More... | |
virtual const double * | surfaceDensity () const |
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 |
These methods are sufficiently advanced (the s parameter is a non-integral index) for there not to be a trivial implementation, so they are not overridden yet. | |
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... | |
IncompPropertiesShadow & | usePorosity (const double *poro) |
Use a different set of porosities. More... | |
IncompPropertiesShadow & | usePorosity (const IncompPropertiesInterface &other) |
Copy the pointer from another property interface, after checking that they are compatible. | |
IncompPropertiesShadow & | usePermeability (const double *perm) |
Use a different set of permeabilities. More... | |
IncompPropertiesShadow & | usePermeability (const IncompPropertiesInterface &other) |
IncompPropertiesShadow & | useViscosity (const double *visc) |
Use a different set of viscosities. More... | |
IncompPropertiesShadow & | useViscosity (const IncompPropertiesInterface &other) |
IncompPropertiesShadow & | useDensity (const double *dens) |
Use a different set of densities. More... | |
IncompPropertiesShadow & | useDensity (const IncompPropertiesInterface &other) |
IncompPropertiesShadow & | useSurfaceDensity (const double *surf) |
Use a different set of surface densities. More... | |
IncompPropertiesShadow & | useSurfaceDensity (const IncompPropertiesInterface &other) |
IncompPropertiesShadow & | useRockProps (const IncompPropertiesInterface &other) |
Convenience method to set both porosity and permeability. More... | |
IncompPropertiesShadow & | useFluidProps (const IncompPropertiesInterface &other) |
Convenience method to set both viscosity and density. | |
IncompPropertiesShadow & | useRockAndFluidProps (const IncompPropertiesInterface &other) |
Convenience method to set both rock and fluid properties. | |
|
inline |
Shadow another set of properties.
Initialize so that all properties are retrieved from original.
If no properties are overridden, the values from the original will be used.
|
inlinevirtual |
[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::IncompPropertiesInterface.
|
inlinevirtual |
Densities of fluid phases at reservoir conditions.
Implements Opm::IncompPropertiesInterface.
|
inlinevirtual |
Implements Opm::IncompPropertiesInterface.
|
inlinevirtual |
Implement all methods from the IncompPropertiesInterface.
The format of the prototype and the shadow must be the same, so these methods should always be forwarded directly.
Implements Opm::IncompPropertiesInterface.
|
inlinevirtual |
Implements Opm::IncompPropertiesInterface.
|
inlinevirtual |
Implements Opm::IncompPropertiesInterface.
|
inlinevirtual |
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::IncompPropertiesInterface.
|
inlinevirtual |
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.
Implements Opm::IncompPropertiesInterface.
|
inline |
Use a different set of densities.
dens | Iterator containing new density values. It must contain numPhases() values. |
|
inline |
Use a different set of permeabilities.
perm | Iterator containing new permeability values. It must contain numCells()*numDimensions()*numDimensions() values. |
|
inline |
Use a different set of porosities.
Store the pointer and indicate that the new value should be used.
poro | Iterator containing new porosity values. It must contain numCells() values. |
|
inline |
Convenience method to set both porosity and permeability.
Convenience methods to set several set of properties at once.
|
inline |
Use a different set of surface densities.
surf | Iterator containing new surface density values. It must contain numPhases() values. |
|
inline |
Use a different set of viscosities.
visc | Iterator containing new viscosity values. It must contain numPhases() values. |
|
inlinevirtual |
Implements Opm::IncompPropertiesInterface.