Opm::ECLUnits::Convert::OilFVF Class Reference

#include <ECLPropertyUnitConversion.hpp>

Inheritance diagram for Opm::ECLUnits::Convert::OilFVF:
Inheritance graph

Public Member Functions

void appliedTo (std::vector< double > &Bo) const override
 
PhysicalQuantityfrom (const UnitSystem &usys)
 
PhysicalQuantityto (const UnitSystem &usys)
 

Protected Member Functions

const UnitSystemfrom () const
 
const UnitSystemto () const
 

Detailed Description

Facility for converting oil phase formation volume factor values between user-selected units of measure.

Member Function Documentation

◆ appliedTo()

void Opm::ECLUnits::Convert::OilFVF::appliedTo ( std::vector< double > &  Bo) const
overridevirtual

Convert a sequence of formation volume factor values for the oil/liquid phase from its input unit of measure to its output unit of measure.

Will throw an exception of type

std::invalid_argument

unless both of the input and output unit system conventions have been previously specified.

Example: Extract the dynamic oil formation volume factor curve in cell 355,113 in native units (convention of serialised result set).

const auto rset = ResultSet("Case.EGRID");
const auto init = ECLInitFileData{ rset.initFile() };
const auto G = ECLGraph.load(rset.gridFile(), init);
const auto si = internalUnitConvention();
const auto native = serialisedUnitConventions(init);
const auto pvtCC = ECLPvtCurveCollection(G, init);
auto BoCurves = pvtCC.getPvtCurve(RawCurve::FVF,
const auto cvrtPress =
Convert::Pressure().to(*native).from(*si);
const auto cvrtBo =
Convert::OilFVF().to(*native).from(*si);
for (auto& curve : BoCurves) {
cvrtPress.appliedTo(curve.first);
cvrtBo .appliedTo(curve.second);
}
Definition: ECLGraph.hpp:52
static ECLGraph load(const boost::filesystem::path &gridFile, const ECLInitFileData &init)
Definition: ECLResultData.hpp:177
Definition: ECLPropertyUnitConversion.hpp:329
PhysicalQuantity & to(const UnitSystem &usys)
PhysicalQuantity & from(const UnitSystem &usys)
virtual void appliedTo(std::vector< double > &x) const =0
std::unique_ptr< const UnitSystem > serialisedUnitConventions(const ECLRestartData &rstrt)
@ Pressure
Definition: eclipse/VectorItems/aquifer.hpp:62
std::vector< double > init(const std::string &kewyord, const TableManager &tables, const Phases &phases, const std::vector< double > &cell_depth, const std::vector< int > &num, const std::vector< int > &endnum)
Parameters
[in,out]BoOn input, a sequence of formation volume factor values for the oil phase assumed to be defined in the input unit specified through
from(usys)
const UnitSystem * from() const
. On output, the same seqeuence of oil FVF values converted to the output unit of measure specified through
to(usys)
.

Implements Opm::ECLUnits::Convert::PhysicalQuantity.

◆ from() [1/2]

const UnitSystem * Opm::ECLUnits::Convert::PhysicalQuantity::from ( ) const
protectedinherited

Retrieve input unit system.

Exists for the benefit of derived classes.

Returns
Input unit system. Null if not specified by caller.

◆ from() [2/2]

PhysicalQuantity & Opm::ECLUnits::Convert::PhysicalQuantity::from ( const UnitSystem usys)
inherited

Specify collection of units of measure of the inputs.

Parameters
[in]usysCollection of units of measure of inputs.
Returns
*this
.

◆ to() [1/2]

const UnitSystem * Opm::ECLUnits::Convert::PhysicalQuantity::to ( ) const
protectedinherited

Retrieve output unit system.

Exists for the benefit of derived classes.

Returns
Output unit system. Null if not specified by caller.

◆ to() [2/2]

PhysicalQuantity & Opm::ECLUnits::Convert::PhysicalQuantity::to ( const UnitSystem usys)
inherited

Specify collection of units of measure of the output.

Parameters
[in]usysCollection of units of measure of outputs.
Returns
*this
.

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