Opm::ECLPVT::Oil Class Reference

Interpolant for Basic Oil PVT Relations. More...

#include <ECLPvtOil.hpp>

Classes

struct  DissolvedGas
 
struct  OilPressure
 

Public Member Functions

 Oil (const ECLPropTableRawData &raw, const int usys, const bool const_compr, std::vector< double > rhoS)
 
 ~Oil ()
 Destructor. More...
 
 Oil (const Oil &rhs)
 
 Oil (Oil &&rhs)
 
Oiloperator= (const Oil &rhs)
 
Oiloperator= (Oil &&rhs)
 
std::vector< double > formationVolumeFactor (const int region, const DissolvedGas &rs, const OilPressure &po) const
 
std::vector< double > viscosity (const int region, const DissolvedGas &rs, const OilPressure &po) const
 
double surfaceMassDensity (const int region) const
 
std::vector< PVTGraphgetPvtCurve (const RawCurve curve, const int region) const
 

Detailed Description

Interpolant for Basic Oil PVT Relations.

Constructor & Destructor Documentation

◆ Oil() [1/3]

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

Constructor.

Parameters
[in]rawRaw tabulated data. Must correspond to either the PVTO vector of an ECL INIT file (tabulated live oil), to PVDO data (tabulated dead oil) or to PVCDO data (constant compressibility dead oil).
[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 oil at surface conditions. Typically computed by
std::vector< double > surfaceMassDensity(const ECLInitFileData &init, const ECLPhaseIndex phase)
.

◆ ~Oil()

Opm::ECLPVT::Oil::~Oil ( )

Destructor.

◆ Oil() [2/3]

Opm::ECLPVT::Oil::Oil ( const Oil rhs)

Copy constructor.

Parameters
[in]rhsExisting interpolant for Oil PVT relations.

◆ Oil() [3/3]

Opm::ECLPVT::Oil::Oil ( Oil &&  rhs)

Move constructor.

Subsumes the implementation of an existing Oil PVT relation interpolant.

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

Member Function Documentation

◆ formationVolumeFactor()

std::vector< double > Opm::ECLPVT::Oil::formationVolumeFactor ( const int  region,
const DissolvedGas rs,
const OilPressure po 
) const

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

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

◆ getPvtCurve()

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

Retrieve 2D graph representation of Oil 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 dissolved gas/oil ratio node. Single curve (i.e., a single vector element) in the case of dead oil (no dissolved gas).

Example: Retrieve oil viscosity curve in PVT region 3 (zero based, i.e., those cells for which PVTNUM==4).

const auto graph =
pvtOil.getPvtCurve(ECLPVT::RawCurve::Viscosity, 3);

◆ operator=() [1/2]

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

Assignment operator

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

◆ operator=() [2/2]

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

Move assignment operator.

Subsumes the implementation of an existing object.

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

◆ surfaceMassDensity()

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

Retrieve constant mass density of oil at surface conditions.

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

◆ viscosity()

std::vector< double > Opm::ECLPVT::Oil::viscosity ( const int  region,
const DissolvedGas rs,
const OilPressure po 
) const

Compute the oil phase fluid viscosity in a single region.

Parameters
[in]regionRegion ID. Non-negative integer typically derived from the PVTNUM mapping vector.
[in]rsDissolved gas-oil ratio. Unused in the case of a dead oil model. Size must match number of elements in
po.data
in the case of live oil model. Strict SI units of measurement.
[in]poOil phase pressure. Strict SI units of measurement.
Returns
Oil phase fluid viscosity. Size equal to number of elements in
po.data
.

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