Opm::ECLPVT::Gas Class Reference

Interpolant for Basic Gas PVT Relations. More...

#include <ECLPvtGas.hpp>

Classes

struct  GasPressure
 
struct  VaporizedOil
 

Public Member Functions

 Gas (const ECLPropTableRawData &raw, const int usys, std::vector< double > rhoS)
 
 ~Gas ()
 Destructor. More...
 
 Gas (const Gas &rhs)
 
 Gas (Gas &&rhs)
 
Gasoperator= (const Gas &rhs)
 
Gasoperator= (Gas &&rhs)
 
std::vector< double > formationVolumeFactor (const int region, const VaporizedOil &rv, const GasPressure &pg) const
 
std::vector< double > viscosity (const int region, const VaporizedOil &rv, const GasPressure &pg) const
 
double surfaceMassDensity (const int region) const
 
std::vector< PVTGraphgetPvtCurve (const RawCurve curve, const int region) const
 

Detailed Description

Interpolant for Basic Gas PVT Relations.

Constructor & Destructor Documentation

◆ Gas() [1/3]

Opm::ECLPVT::Gas::Gas ( const ECLPropTableRawData raw,
const int  usys,
std::vector< double >  rhoS 
)

Constructor.

Parameters
[in]rawRaw tabulated data. Must correspond to the PVTG vector of an ECL INIT file..
[in]usysUnit system convention of the result set from which raw was extracted. Must correspond to item 3 of the INTEHEAD keyword in the INIT file.
[in]rhoSMass density of gas at surface conditions. Typically computed by
std::vector< double > surfaceMassDensity(const ECLInitFileData &init, const ECLPhaseIndex phase)
.

◆ ~Gas()

Opm::ECLPVT::Gas::~Gas ( )

Destructor.

◆ Gas() [2/3]

Opm::ECLPVT::Gas::Gas ( const Gas rhs)

Copy constructor.

Parameters
[in]rhsExisting interpolant for Gas PVT relations.

◆ Gas() [3/3]

Opm::ECLPVT::Gas::Gas ( Gas &&  rhs)

Move constructor.

Subsumes the implementation of an existing Gas PVT relation interpolant.

Parameters
[in]rhsExisting Gas PVT relation interpolant. Does not have a valid implementation when the constructor completes.

Member Function Documentation

◆ formationVolumeFactor()

std::vector< double > Opm::ECLPVT::Gas::formationVolumeFactor ( const int  region,
const VaporizedOil rv,
const GasPressure pg 
) const

Compute the gas phase formation volume factor in a single region.

Parameters
[in]regionRegion ID. Non-negative integer typically derived from the PVTNUM mapping vector.
[in]rvVaporised oil-gas ratio. Unused in the case of a dry gas model. Size must match number of elements in
pg.data
in the case of wet gas model. Strict SI units of measurement.
[in]pgGas phase pressure. Strict SI units of measurement.
Returns
Gas phase formation volume factor. Size equal to number of elements in
po.data
.

◆ getPvtCurve()

std::vector< PVTGraph > Opm::ECLPVT::Gas::getPvtCurve ( const RawCurve  curve,
const int  region 
) const

Retrieve 2D graph representation of Gas PVT property function in partcular PVT region.

Parameters
[in]curvePVT property curve descriptor
[in]regionRegion ID. Non-negative integer typically derived from the PVTNUM mapping vector.
Returns
Collection of 2D graphs for PVT property curve identified by requests represented by func and region. One curve (vector element) for each pressure node. Single curve (i.e., a single vector element) in the case of dry gas (no vaporised oil).

Example: Retrieve gas formation volume factor curve in PVT region 0 (zero based, i.e., cells for which PVTNUM==1).

const auto graph =
pvtGas.getPvtCurve(ECLPVT::RawCurve::FVF, 0);
@ FVF
Formation volume factor (B_\alpha)

◆ operator=() [1/2]

Gas & Opm::ECLPVT::Gas::operator= ( const Gas rhs)

Assignment operator

Parameters
[in]rhsExisting Gas PVT relation interpolant.
Returns
*this
.

◆ operator=() [2/2]

Gas & Opm::ECLPVT::Gas::operator= ( Gas &&  rhs)

Move assignment operator.

Subsumes the implementation of an existing object.

Parameters
[in]rhsExisting Gas PVT relation interpolant. Does not have a valid implementation when the constructor completes.
Returns
*this
.

◆ surfaceMassDensity()

double Opm::ECLPVT::Gas::surfaceMassDensity ( const int  region) const

Retrieve constant mass density of gas at surface conditions.

Parameters
[in]regionRegion ID. Non-negative integer typically derived from the PVTNUM mapping vector.
Returns
Mass density of gas at surface in particular model region.

◆ viscosity()

std::vector< double > Opm::ECLPVT::Gas::viscosity ( const int  region,
const VaporizedOil rv,
const GasPressure pg 
) const

Compute the gas phase fluid viscosity in a single region.

Parameters
[in]regionRegion ID. Non-negative integer typically derived from the PVTNUM mapping vector.
[in]rvVaporised oil-gas ratio. Unused in the case of a dry gas model. Size must match number of elements in
pg.data
in the case of wet gas model. Strict SI units of measurement.
[in]pgGas phase pressure. Strict SI units of measurement.
Returns
Gas phase fluid viscosity. Size equal to number of elements in
pg.data
.

The documentation for this class was generated from the following file: