Fesapi 2.9.0.1
This project provides C++ classes which allow an easy access in import and export to the Energistics standards.
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Attributes | List of all members
prodml2_2::FluidCharacterization Class Reference

#include <FluidCharacterization.h>

Inheritance diagram for prodml2_2::FluidCharacterization:

Public Types

enum  ModelSpecification {
  CompositionalThermal = 0 , SrkEos = 1 , PengRobinson76Eos = 2 , PengRobinson78Eos = 3 ,
  LohrenzBrayClarkCorrelation = 4 , CSPedersen87 = 5 , CSPedersen84 = 6 , FrictionTheory = 7 ,
  CorrelationThermal = 8 , BergmanSuttonBubblePoint = 9 , DeGhettoBubblePoint = 10 , StandingBubblePoint = 11 ,
  DindorukChristmanBubblePoint = 12 , PetroskyFarshadBubblePoint = 13
}
 

Public Member Functions

 FluidCharacterization (gsoap_resqml2_0_1::eml20__DataObjectReference *partialObject)
 
 FluidCharacterization (common ::DataObjectRepository *repo, const std::string &guid, const std::string &title)
 
 FluidCharacterization (gsoap_eml2_3::prodml22__FluidCharacterization *fromGsoap)
 
 ~FluidCharacterization ()
 
void setStandardConditions (double temperatureValue, gsoap_eml2_3::eml23__ThermodynamicTemperatureUom temperatureUom, double pressureValue, gsoap_eml2_3::eml23__PressureUom pressureUom)
 
bool hasStandardConditions () const
 
double getStandardTemperatureValue () const
 
gsoap_eml2_3::eml23__ThermodynamicTemperatureUom getStandardTemperatureUom () const
 
double getStandardPressureValue () const
 
gsoap_eml2_3::eml23__PressureUom getStandardPressureUom () const
 
void setRockFluidUnit (resqml2 ::RockFluidUnitInterpretation *rockFluidUnit)
 
common::DataObjectReference getRockFluidUnitDor () const
 
resqml2::RockFluidUnitInterpretationgetRockFluidUnit () const
 
void setFluidSystem (class FluidSystem *fluidSystem)
 
common::DataObjectReference getFluidSystemDor () const
 
class FluidSystemgetFluidSystem () const
 
unsigned int getFormationWaterCount () const
 
void pushBackFormationWater (const std::string &uid)
 
unsigned int getPureFluidComponentCount () const
 
void pushBackPureFluidComponent (const std::string &uid, gsoap_eml2_3::prodml22__PureComponentKind kind, bool hydrocarbonFlag)
 
unsigned int getPlusFluidComponentCount () const
 
void pushBackPlusFluidComponent (const std::string &uid, gsoap_eml2_3::prodml22__PlusComponentKind kind)
 
unsigned int getStockTankOilCount () const
 
void pushBackStockTankOil (const std::string &uid)
 
unsigned int getNaturalGasCount () const
 
void pushBackNaturalGas (const std::string &uid)
 
unsigned int getPseudoFluidComponentCount () const
 
void pushBackPseudoFluidComponent (const std::string &uid, gsoap_eml2_3::prodml22__PseudoComponentKind kind)
 
unsigned int getModelCount () const
 
void pushBackModel (const std::string &uid="")
 
PvtSpecificationgetModelSpecification (unsigned int modelIndex)
 
PvtSpecificationinitModelSpecification (unsigned int modelIndex, ModelSpecification kind)
 
unsigned int getTableFormatCount () const
 
void pushBackTableFormat (const std::string &uid="")
 
uint64_t getTableFormatColumnCount (const std::string &tableFormatUid) const
 
std::string getTableFormatColumnUom (const std::string &tableFormatUid, unsigned int columnIndex) const
 
std::string getTableFormatColumnProperty (const std::string &tableFormatUid, unsigned int columnIndex) const
 
void pushBackTableFormatColumn (unsigned int tableFormatIndex, gsoap_eml2_3::eml23__UnitOfMeasure uom, gsoap_eml2_3::prodml22__OutputFluidProperty fluidProperty)
 
void pushBackTableFormatColumn (unsigned int tableFormatIndex, const std::string &uom, const std::string &fluidProperty)
 
unsigned int getTableCount (unsigned int modelIndex) const
 
std::string getTableName (unsigned int modelIndex, unsigned int tableIndex) const
 
std::string getTableFormatUid (unsigned int modelIndex, unsigned int tableIndex) const
 
void pushBackTable (unsigned int modelIndex, const std::string &name, const std::string &tableFormatUid, const std::string &uid="")
 
unsigned int getTableRowCount (unsigned int modelIndex, unsigned int tableIndex) const
 
std::string getTableRowContent (unsigned int modelIndex, unsigned int tableIndex, unsigned int rowIndex) const
 
void pushBackTableRow (unsigned int modelIndex, unsigned int tableIndex, const std::vector< double > &rowContent)
 
void pushBackTableRow (unsigned int modelIndex, unsigned int tableIndex, const std::vector< double > &rowContent, bool isSaturated)
 
void pushBackParameter (unsigned int modelIndex, double value, gsoap_eml2_3::eml23__UnitOfMeasure uom, gsoap_eml2_3::prodml22__OutputFluidProperty fluidProperty)
 
void pushBackParameter (unsigned int modelIndex, double value, gsoap_eml2_3::eml23__UnitOfMeasure uom, gsoap_eml2_3::prodml22__OutputFluidProperty fluidProperty, gsoap_eml2_3::prodml22__ThermodynamicPhase phase)
 
virtual std::string getXmlTag () const final
 
std::string getXmlNamespace () const final
 
void loadTargetRelationships () final
 

Static Public Attributes

static constexpr char const * XML_TAG = "FluidCharacterization"
 
static constexpr char const * XML_NS = "prodml22"
 

Detailed Description

The fluid characterization data object describes the characteristics and properties of a fluid sample or fluid system under the conditions expected in a historical or future state. Three basic formats are available to represent fluid characterization results for delivery to consumer applications:

Member Enumeration Documentation

◆ ModelSpecification

Values that represent model specifications

Constructor & Destructor Documentation

◆ FluidCharacterization() [1/3]

prodml2_2::FluidCharacterization::FluidCharacterization ( gsoap_resqml2_0_1::eml20__DataObjectReference * partialObject)
inline

Only to be used in partial transfer context

Parameters
[in,out]partialObjectIf non-null, the partial object.

◆ FluidCharacterization() [2/3]

prodml2_2::FluidCharacterization::FluidCharacterization ( common ::DataObjectRepository * repo,
const std::string & guid,
const std::string & title )

Creates an instance of this class in a gsoap context.

Parameters
[in,out]repoThe dataobject repo where the underlying gsoap proxy is going to be created.
guidThe guid to set to this instance. If empty then a new guid will be generated.
titleThe title.

◆ FluidCharacterization() [3/3]

prodml2_2::FluidCharacterization::FluidCharacterization ( gsoap_eml2_3::prodml22__FluidCharacterization * fromGsoap)
inline

Creates an instance of this class by wrapping a gsoap instance.

Parameters
[in,out]fromGsoapIf non-null, from gsoap.

◆ ~FluidCharacterization()

prodml2_2::FluidCharacterization::~FluidCharacterization ( )
inline

Destructor does nothing since the memory is managed by the gsoap context.

Member Function Documentation

◆ getFluidSystem()

class FluidSystem * prodml2_2::FluidCharacterization::getFluidSystem ( ) const

Gets the associated FluidSystem

Returns
Null if it fails, else the FluidSystem.

◆ getFluidSystemDor()

common::DataObjectReference prodml2_2::FluidCharacterization::getFluidSystemDor ( ) const

Gets the associated FluidSystem dor

Returns
Empty if it fails, else the FluidSystem dor.

◆ getFormationWaterCount()

unsigned int prodml2_2::FluidCharacterization::getFormationWaterCount ( ) const

Gets formation water count

Returns
The formation water count.

◆ getModelCount()

unsigned int prodml2_2::FluidCharacterization::getModelCount ( ) const

Gets model count

Returns
The model count.

◆ getModelSpecification()

PvtSpecification * prodml2_2::FluidCharacterization::getModelSpecification ( unsigned int modelIndex)
inline

Gets model specification

Parameters
modelIndexZero-based index of the model.
Returns
Null if it fails, else the model specification.

◆ getNaturalGasCount()

unsigned int prodml2_2::FluidCharacterization::getNaturalGasCount ( ) const

Gets natural gas count

Returns
The natural gas count.

◆ getPlusFluidComponentCount()

unsigned int prodml2_2::FluidCharacterization::getPlusFluidComponentCount ( ) const

Gets plus fluid component count

Returns
The plus fluid component count.

◆ getPseudoFluidComponentCount()

unsigned int prodml2_2::FluidCharacterization::getPseudoFluidComponentCount ( ) const

Gets pseudo fluid component count

Returns
The pseudo fluid component count.

◆ getPureFluidComponentCount()

unsigned int prodml2_2::FluidCharacterization::getPureFluidComponentCount ( ) const

Gets pure fluid component count

Returns
The pure fluid component count.

◆ getRockFluidUnit()

resqml2::RockFluidUnitInterpretation * prodml2_2::FluidCharacterization::getRockFluidUnit ( ) const

Gets rock fluid unit

Returns
Null if it fails, else the rock fluid unit.

◆ getRockFluidUnitDor()

common::DataObjectReference prodml2_2::FluidCharacterization::getRockFluidUnitDor ( ) const

Gets rock fluid unit dor

Returns
Empty if it fails, else the rock fluid unit dor.

◆ getStandardPressureUom()

gsoap_eml2_3::eml23__PressureUom prodml2_2::FluidCharacterization::getStandardPressureUom ( ) const

Gets standard pressure uom

Returns
The standard pressure uom.

◆ getStandardPressureValue()

double prodml2_2::FluidCharacterization::getStandardPressureValue ( ) const

Gets standard pressure value

Returns
The standard pressure value.

◆ getStandardTemperatureUom()

gsoap_eml2_3::eml23__ThermodynamicTemperatureUom prodml2_2::FluidCharacterization::getStandardTemperatureUom ( ) const

Gets standard temperature uom

Returns
The standard temperature uom.

◆ getStandardTemperatureValue()

double prodml2_2::FluidCharacterization::getStandardTemperatureValue ( ) const

Gets standard temperature value

Returns
The standard temperature value.

◆ getStockTankOilCount()

unsigned int prodml2_2::FluidCharacterization::getStockTankOilCount ( ) const

Gets stock tank oil count

Returns
The stock tank oil count.

◆ getTableCount()

unsigned int prodml2_2::FluidCharacterization::getTableCount ( unsigned int modelIndex) const

Gets the table count

Parameters
modelIndexZero-based index of the model in this fluid characterization.
Returns
The table count.

◆ getTableFormatColumnCount()

uint64_t prodml2_2::FluidCharacterization::getTableFormatColumnCount ( const std::string & tableFormatUid) const

Gets the count of a table format column

Parameters
tableFormatUidThe uid of the table format.
columnIndexThe zero-based index of the column.
Returns
The uom of a table format column

◆ getTableFormatColumnProperty()

std::string prodml2_2::FluidCharacterization::getTableFormatColumnProperty ( const std::string & tableFormatUid,
unsigned int columnIndex ) const

Gets the property kind of a table format column

Parameters
tableFormatUidThe uid of the table format.
columnIndexThe zero-based index of the column.
Returns
The property kind of a table format column

◆ getTableFormatColumnUom()

std::string prodml2_2::FluidCharacterization::getTableFormatColumnUom ( const std::string & tableFormatUid,
unsigned int columnIndex ) const

Gets the uom of a table format column

Parameters
tableFormatUidThe uid of the table format.
columnIndexThe zero-based index of the column.
Returns
The uom of a table format column

◆ getTableFormatCount()

unsigned int prodml2_2::FluidCharacterization::getTableFormatCount ( ) const

Gets the table format count

Returns
The table format count.

◆ getTableFormatUid()

std::string prodml2_2::FluidCharacterization::getTableFormatUid ( unsigned int modelIndex,
unsigned int tableIndex ) const

Gets the uid of the table format of a table.

Parameters
modelIndexZero-based index of the model in this fluid characterization.
tableIndexZero-based index of the table in a model of this fluid characterization.
Returns
The uid of the table format of a table.

◆ getTableName()

std::string prodml2_2::FluidCharacterization::getTableName ( unsigned int modelIndex,
unsigned int tableIndex ) const

Gets the name of a table.

Parameters
modelIndexZero-based index of the model in this fluid characterization.
tableIndexZero-based index of the table in a model of this fluid characterization.
Returns
The name of a table.

◆ getTableRowContent()

std::string prodml2_2::FluidCharacterization::getTableRowContent ( unsigned int modelIndex,
unsigned int tableIndex,
unsigned int rowIndex ) const

Gets the content of a row of a table.

Parameters
modelIndexZero-based index of the model in this fluid characterization.
tableIndexZero-based index of the table in a model of this fluid characterization.
rowIndexZero-based index of the row of the table in a model of this fluid characterization.
Returns
The content of a row of a table.

◆ getTableRowCount()

unsigned int prodml2_2::FluidCharacterization::getTableRowCount ( unsigned int modelIndex,
unsigned int tableIndex ) const

Gets the table row count

Parameters
modelIndexZero-based index of the model in this fluid characterization.
tableIndexZero-based index of the table in a model of this fluid characterization.
Returns
The table row count.

◆ getXmlNamespace()

std::string prodml2_2::FluidCharacterization::getXmlNamespace ( ) const
inlinefinal

Get the standard XML namespace for serializing this data object.

◆ getXmlTag()

virtual std::string prodml2_2::FluidCharacterization::getXmlTag ( ) const
inlinefinalvirtual

Get the standard XML tag without XML namespace for serializing this data object.

Returns
The XML tag.

◆ hasStandardConditions()

bool prodml2_2::FluidCharacterization::hasStandardConditions ( ) const

Query if this object has standard conditions

Returns
True if standard conditions, false if not.

◆ initModelSpecification()

PvtSpecification * prodml2_2::FluidCharacterization::initModelSpecification ( unsigned int modelIndex,
ModelSpecification kind )

Return the PvtSpecification according to the kind. Please downcast it and set all attributes which you want.

Parameters
modelIndexZero-based index of the model.
kindThe kind.
Returns
Null if it fails, else a pointer to a PvtSpecification.

◆ loadTargetRelationships()

void prodml2_2::FluidCharacterization::loadTargetRelationships ( )
final

Loads target relationships

◆ pushBackFormationWater()

void prodml2_2::FluidCharacterization::pushBackFormationWater ( const std::string & uid)

Pushes a back formation water

Parameters
uidThe UID.

◆ pushBackModel()

void prodml2_2::FluidCharacterization::pushBackModel ( const std::string & uid = "")

Pushes a back model

Parameters
uidThe UID. If empty, it will be set to its index in this Fluid Characterization

◆ pushBackNaturalGas()

void prodml2_2::FluidCharacterization::pushBackNaturalGas ( const std::string & uid)

Pushes a back natural gas

Parameters
uidThe UID.

◆ pushBackParameter() [1/2]

void prodml2_2::FluidCharacterization::pushBackParameter ( unsigned int modelIndex,
double value,
gsoap_eml2_3::eml23__UnitOfMeasure uom,
gsoap_eml2_3::prodml22__OutputFluidProperty fluidProperty )

Pushes back a phase-unrelated parameter in a model.

Parameters
modelIndexZero-based index of the model in this fluid characterization.
valueThe value of the parameter
uomThe uom associated to the value of this parameter
fluidPropertyThe property kind of this value

◆ pushBackParameter() [2/2]

void prodml2_2::FluidCharacterization::pushBackParameter ( unsigned int modelIndex,
double value,
gsoap_eml2_3::eml23__UnitOfMeasure uom,
gsoap_eml2_3::prodml22__OutputFluidProperty fluidProperty,
gsoap_eml2_3::prodml22__ThermodynamicPhase phase )

Pushes back a phase related parameter in a model.

Parameters
modelIndexZero-based index of the model in this fluid characterization.
valueThe value of the parameter
uomThe uom associated to the value of this parameter
fluidPropertyThe property kind of this value
phaseThe pahse associated to the parameter

◆ pushBackPlusFluidComponent()

void prodml2_2::FluidCharacterization::pushBackPlusFluidComponent ( const std::string & uid,
gsoap_eml2_3::prodml22__PlusComponentKind kind )

Pushes a back plus fluid component

Parameters
uidThe UID.
kindThe kind.

◆ pushBackPseudoFluidComponent()

void prodml2_2::FluidCharacterization::pushBackPseudoFluidComponent ( const std::string & uid,
gsoap_eml2_3::prodml22__PseudoComponentKind kind )

Pushes a back pseudo fluid component

Parameters
uidThe UID.
kindThe kind.

◆ pushBackPureFluidComponent()

void prodml2_2::FluidCharacterization::pushBackPureFluidComponent ( const std::string & uid,
gsoap_eml2_3::prodml22__PureComponentKind kind,
bool hydrocarbonFlag )

Pushes a back pure fluid component

Parameters
uidThe UID.
kindThe kind.
hydrocarbonFlagTrue to hydrocarbon flag.

◆ pushBackStockTankOil()

void prodml2_2::FluidCharacterization::pushBackStockTankOil ( const std::string & uid)

Pushes a back stock tank oil

Parameters
uidThe UID.

◆ pushBackTable()

void prodml2_2::FluidCharacterization::pushBackTable ( unsigned int modelIndex,
const std::string & name,
const std::string & tableFormatUid,
const std::string & uid = "" )

Pushes back a table

Parameters
modelIndexZero-based index of the model.
nameThe name of this table.
tableFormatUidThe UID of the table format this table is using.The table format defines the semantic of the colums and values.
uidThe UID of this table. If empty, it will be set to its index in this Fluid Characterization

◆ pushBackTableFormat()

void prodml2_2::FluidCharacterization::pushBackTableFormat ( const std::string & uid = "")

Pushes a table format

Parameters
uidThe UID. If empty, it will be set to its index in this Fluid Characterization

◆ pushBackTableFormatColumn() [1/2]

void prodml2_2::FluidCharacterization::pushBackTableFormatColumn ( unsigned int tableFormatIndex,
const std::string & uom,
const std::string & fluidProperty )

Pushes a table format colum

Parameters
tableFormatIndexZero-based index of the table format.
uomThe uom associated to the values of this column
fluidPropertyThe non standard property name that this column contains

◆ pushBackTableFormatColumn() [2/2]

void prodml2_2::FluidCharacterization::pushBackTableFormatColumn ( unsigned int tableFormatIndex,
gsoap_eml2_3::eml23__UnitOfMeasure uom,
gsoap_eml2_3::prodml22__OutputFluidProperty fluidProperty )

Pushes a table format colum

Parameters
tableFormatIndexZero-based index of the table format.
uomThe uom associated to the values of this column
fluidPropertyThe property that this column contains

◆ pushBackTableRow() [1/2]

void prodml2_2::FluidCharacterization::pushBackTableRow ( unsigned int modelIndex,
unsigned int tableIndex,
const std::vector< double > & rowContent )

Pushes back a row in a table of a model without indicating if the data are either saturated or under-saturated.

Parameters
modelIndexZero-based index of the model in this fluid characterization.
tableIndexZero-based index of the table in a model of this fluid characterization.
rowContentThe values representing the content of the row in the table.

◆ pushBackTableRow() [2/2]

void prodml2_2::FluidCharacterization::pushBackTableRow ( unsigned int modelIndex,
unsigned int tableIndex,
const std::vector< double > & rowContent,
bool isSaturated )

Pushes back a row in a table of a model indicating if the data are either saturated or under-saturated.

Parameters
modelIndexZero-based index of the model in this fluid characterization.
tableIndexZero-based index of the table in a model of this fluid characterization.
rowContentThe values representing the content of the row in the table.
isSaturatedTrue if the data correspond to saturated data, false if the data correspond to undersaturated data

◆ setFluidSystem()

void prodml2_2::FluidCharacterization::setFluidSystem ( class FluidSystem * fluidSystem)

Sets the assocaited fluid system

Parameters
[in,out]rockFluidUnitIf non-null, the rock fluid unit.

◆ setRockFluidUnit()

void prodml2_2::FluidCharacterization::setRockFluidUnit ( resqml2 ::RockFluidUnitInterpretation * rockFluidUnit)

Sets rock fluid unit

Parameters
[in,out]rockFluidUnitIf non-null, the rock fluid unit.

◆ setStandardConditions()

void prodml2_2::FluidCharacterization::setStandardConditions ( double temperatureValue,
gsoap_eml2_3::eml23__ThermodynamicTemperatureUom temperatureUom,
double pressureValue,
gsoap_eml2_3::eml23__PressureUom pressureUom )

Sets standard conditions

Parameters
temperatureValueThe temperature value.
temperatureUomThe temperature uom.
pressureValueThe pressure value.
pressureUomThe pressure uom.

Member Data Documentation

◆ XML_NS

constexpr char const* prodml2_2::FluidCharacterization::XML_NS = "prodml22"
staticconstexpr

The standard XML namespace for serializing this data object.

◆ XML_TAG

constexpr char const* prodml2_2::FluidCharacterization::XML_TAG = "FluidCharacterization"
staticconstexpr

The standard XML tag without XML namespace for serializing this data object.

Returns
The XML tag.

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