21#include "../common/AbstractObject.h"
23#include "../MacroDefinitions.h"
28 class RockFluidOrganizationInterpretation;
38#define GETTER_FLUID_COMPONENT_ATTRIBUTE(componentName, attributeName, attributeDatatype)\
39 DLL_IMPORT_OR_EXPORT attributeDatatype get##componentName##attributeName() const {\
40 if (static_cast<gsoap_eml2_3::prodml22__FluidSystem*>(gsoapProxy2_3)->componentName == nullptr) { throw std::logic_error("The component does not exist"); }\
41 return static_cast<gsoap_eml2_3::prodml22__FluidSystem*>(gsoapProxy2_3)->componentName->attributeName;\
51#define GETTER_AND_SETTER_FLUID_COMPONENT_OPTIONAL_ATTRIBUTE(componentName, attributeName, attributeDatatype)\
52 DLL_IMPORT_OR_EXPORT void set##componentName##attributeName(const attributeDatatype& value);\
53 DLL_IMPORT_OR_EXPORT bool has##componentName##attributeName() const {\
54 return static_cast<gsoap_eml2_3::prodml22__FluidSystem*>(gsoapProxy2_3)->componentName != nullptr &&\
55 static_cast<gsoap_eml2_3::prodml22__FluidSystem*>(gsoapProxy2_3)->componentName->attributeName != nullptr;\
57 DLL_IMPORT_OR_EXPORT attributeDatatype get##componentName##attributeName() const {\
58 if (!has##componentName##attributeName()) { throw std::logic_error("This attribute in this component attribute does not exist"); }\
59 return *static_cast<gsoap_eml2_3::prodml22__FluidSystem*>(gsoapProxy2_3)->componentName->attributeName;\
69#define GETTER_AND_SETTER_FLUID_COMPONENT_MEASURE_ATTRIBUTE(componentName, attributeName, uomDatatype)\
70 DLL_IMPORT_OR_EXPORT void set##componentName##attributeName(double value, uomDatatype uom);\
71 DLL_IMPORT_OR_EXPORT bool has##componentName##attributeName() const {\
72 return static_cast<gsoap_eml2_3::prodml22__FluidSystem*>(gsoapProxy2_3)->componentName != nullptr &&\
73 static_cast<gsoap_eml2_3::prodml22__FluidSystem*>(gsoapProxy2_3)->componentName->attributeName != nullptr;\
75 DLL_IMPORT_OR_EXPORT double get##componentName##attributeName##Value() const {\
76 if (!has##componentName##attributeName()) { throw std::logic_error("This attribute in this component attribute does not exist"); }\
77 return static_cast<gsoap_eml2_3::prodml22__FluidSystem*>(gsoapProxy2_3)->componentName->attributeName->__item;\
79 DLL_IMPORT_OR_EXPORT uomDatatype get##componentName##attributeName##Uom() const {\
80 if (!has##componentName##attributeName()) { throw std::logic_error("This attribute in this component attribute does not exist"); }\
81 return static_cast<gsoap_eml2_3::prodml22__FluidSystem*>(gsoapProxy2_3)->componentName->attributeName->uom;\
89#define GETTER_AND_SETTER_FLUID_COMPONENT_COMMON_ATTRIBUTES(componentName)\
90 DLL_IMPORT_OR_EXPORT bool has##componentName() const {\
91 return static_cast<gsoap_eml2_3::prodml22__FluidSystem*>(gsoapProxy2_3)->componentName != nullptr;\
93 GETTER_FLUID_COMPONENT_ATTRIBUTE(componentName, uid, std::string)\
94 GETTER_AND_SETTER_FLUID_COMPONENT_OPTIONAL_ATTRIBUTE(componentName, Remark, std::string)\
95 GETTER_AND_SETTER_FLUID_COMPONENT_MEASURE_ATTRIBUTE(componentName, MassFraction, gsoap_eml2_3::eml23__MassPerMassUom)\
96 GETTER_AND_SETTER_FLUID_COMPONENT_MEASURE_ATTRIBUTE(componentName, MoleFraction, gsoap_eml2_3::eml23__AmountOfSubstancePerAmountOfSubstanceUom)
113 DLL_IMPORT_OR_EXPORT
FluidSystem(gsoap_resqml2_0_1::eml20__DataObjectReference* partialObject) : COMMON_NS::AbstractObject(partialObject) {}
134 const std::string & guid,
135 const std::string & title,
136 double temperatureValue, gsoap_eml2_3::eml23__ThermodynamicTemperatureUom temperatureUom,
137 double pressureValue, gsoap_eml2_3::eml23__PressureUom pressureUom,
138 gsoap_eml2_3::prodml22__ReservoirFluidKind reservoirFluidKind,
139 double gasOilRatio, gsoap_eml2_3::eml23__VolumePerVolumeUom gasOilRatioUom);
157 const std::string & guid,
158 const std::string & title,
159 gsoap_eml2_3::eml23__ReferenceCondition referenceCondition,
160 gsoap_eml2_3::prodml22__ReservoirFluidKind reservoirFluidKind,
161 double gasOilRatio, gsoap_eml2_3::eml23__VolumePerVolumeUom gasOilRatioUom);
168 FluidSystem(gsoap_eml2_3::prodml22__FluidSystem* fromGsoap):AbstractObject(fromGsoap) {}
173 GETTER_SETTER_ATTRIBUTE(gsoap_eml2_3::prodml22__FluidSystem, gsoapProxy2_3, ReservoirFluidKind, gsoap_eml2_3::prodml22__ReservoirFluidKind)
175 GETTER_SETTER_OPTIONAL_ATTRIBUTE(gsoap_eml2_3::prodml22__FluidSystem, gsoapProxy2_3, PhasesPresent, gsoap_eml2_3::prodml22__PhasePresent)
176 GETTER_SETTER_OPTIONAL_ATTRIBUTE(gsoap_eml2_3::prodml22__FluidSystem, gsoapProxy2_3, ReservoirLifeCycleState, gsoap_eml2_3::prodml22__ReservoirLifeCycleState)
177 GETTER_SETTER_OPTIONAL_ATTRIBUTE(gsoap_eml2_3::prodml22__FluidSystem, gsoapProxy2_3, Remark, std::string)
184 DLL_IMPORT_OR_EXPORT
double getStandardTemperatureValue() const;
191 DLL_IMPORT_OR_EXPORT gsoap_eml2_3::eml23__ThermodynamicTemperatureUom getStandardTemperatureUom() const;
198 DLL_IMPORT_OR_EXPORT
double getStandardPressureValue() const;
205 DLL_IMPORT_OR_EXPORT gsoap_eml2_3::eml23__PressureUom getStandardPressureUom() const;
212 DLL_IMPORT_OR_EXPORT
double getSolutionGORValue() const;
219 DLL_IMPORT_OR_EXPORT gsoap_eml2_3::eml23__VolumePerVolumeUom getSolutionGORUom() const;
224 DLL_IMPORT_OR_EXPORT
void setSaturationPressure(
double value, gsoap_eml2_3::eml23__PressureUom pressureUom, gsoap_eml2_3::prodml22__SaturationPointKind saturationPointKind);
231 DLL_IMPORT_OR_EXPORT
bool hasSaturationPressureValue() const;
238 DLL_IMPORT_OR_EXPORT
double getSaturationPressureValue() const;
245 DLL_IMPORT_OR_EXPORT gsoap_eml2_3::eml23__PressureUom getSaturationPressureUom() const;
252 DLL_IMPORT_OR_EXPORT gsoap_eml2_3::prodml22__SaturationPointKind getSaturationPressurePointKind() const;
257 GETTER_AND_SETTER_FLUID_COMPONENT_COMMON_ATTRIBUTES(FormationWater)
258 GETTER_AND_SETTER_FLUID_COMPONENT_MEASURE_ATTRIBUTE(FormationWater, Salinity, gsoap_eml2_3::eml23__MassPerMassUom)
259 GETTER_AND_SETTER_FLUID_COMPONENT_OPTIONAL_ATTRIBUTE(FormationWater, SpecificGravity,
double)
264 GETTER_AND_SETTER_FLUID_COMPONENT_COMMON_ATTRIBUTES(StockTankOil)
265 GETTER_AND_SETTER_FLUID_COMPONENT_MEASURE_ATTRIBUTE(StockTankOil, APIGravity, gsoap_eml2_3::eml23__APIGravityUom)
266 GETTER_AND_SETTER_FLUID_COMPONENT_MEASURE_ATTRIBUTE(StockTankOil, MolecularWeight, gsoap_eml2_3::eml23__MolecularWeightUom)
267 GETTER_AND_SETTER_FLUID_COMPONENT_MEASURE_ATTRIBUTE(StockTankOil, GrossEnergyContentPerUnitMass, gsoap_eml2_3::eml23__EnergyPerMassUom)
268 GETTER_AND_SETTER_FLUID_COMPONENT_MEASURE_ATTRIBUTE(StockTankOil, NetEnergyContentPerUnitMass, gsoap_eml2_3::eml23__EnergyPerMassUom)
269 GETTER_AND_SETTER_FLUID_COMPONENT_MEASURE_ATTRIBUTE(StockTankOil, GrossEnergyContentPerUnitVolume, gsoap_eml2_3::eml23__EnergyPerVolumeUom)
270 GETTER_AND_SETTER_FLUID_COMPONENT_MEASURE_ATTRIBUTE(StockTankOil, NetEnergyContentPerUnitVolume, gsoap_eml2_3::eml23__EnergyPerVolumeUom)
275 GETTER_AND_SETTER_FLUID_COMPONENT_COMMON_ATTRIBUTES(NaturalGas)
276 GETTER_AND_SETTER_FLUID_COMPONENT_OPTIONAL_ATTRIBUTE(NaturalGas, GasGravity,
double)
277 GETTER_AND_SETTER_FLUID_COMPONENT_MEASURE_ATTRIBUTE(NaturalGas, MolecularWeight, gsoap_eml2_3::eml23__MolecularWeightUom)
278 GETTER_AND_SETTER_FLUID_COMPONENT_MEASURE_ATTRIBUTE(NaturalGas, GrossEnergyContentPerUnitMass, gsoap_eml2_3::eml23__EnergyPerMassUom)
279 GETTER_AND_SETTER_FLUID_COMPONENT_MEASURE_ATTRIBUTE(NaturalGas, NetEnergyContentPerUnitMass, gsoap_eml2_3::eml23__EnergyPerMassUom)
280 GETTER_AND_SETTER_FLUID_COMPONENT_MEASURE_ATTRIBUTE(NaturalGas, GrossEnergyContentPerUnitVolume, gsoap_eml2_3::eml23__EnergyPerVolumeUom)
281 GETTER_AND_SETTER_FLUID_COMPONENT_MEASURE_ATTRIBUTE(NaturalGas, NetEnergyContentPerUnitVolume, gsoap_eml2_3::eml23__EnergyPerVolumeUom)
288 DLL_IMPORT_OR_EXPORT
void setRockFluidOrganization(RESQML2_NS::RockFluidOrganizationInterpretation* rockFluidOrg);
295 COMMON_NS::DataObjectReference getRockFluidOrganizationDor() const;
302 DLL_IMPORT_OR_EXPORT RESQML2_NS::RockFluidOrganizationInterpretation* getRockFluidOrganization() const;
316 DLL_IMPORT_OR_EXPORT uint64_t getFluidCharacterizationCount() const;
335 DLL_IMPORT_OR_EXPORT static constexpr
char const* XML_TAG = "
FluidSystem";
342 DLL_IMPORT_OR_EXPORT virtual std::
string getXmlTag()
const {
return XML_TAG; }
347 DLL_IMPORT_OR_EXPORT
static constexpr char const* XML_NS =
"prodml22";
Definition FluidCharacterization.h:110
Definition FluidSystem.h:103
FluidSystem(common ::DataObjectRepository *repo, const std::string &guid, const std::string &title, gsoap_eml2_3::eml23__ReferenceCondition referenceCondition, gsoap_eml2_3::prodml22__ReservoirFluidKind reservoirFluidKind, double gasOilRatio, gsoap_eml2_3::eml23__VolumePerVolumeUom gasOilRatioUom)
Creates an instance of this class in a gsoap context.
void loadTargetRelationships() final
FluidSystem(common ::DataObjectRepository *repo, const std::string &guid, const std::string &title, double temperatureValue, gsoap_eml2_3::eml23__ThermodynamicTemperatureUom temperatureUom, double pressureValue, gsoap_eml2_3::eml23__PressureUom pressureUom, gsoap_eml2_3::prodml22__ReservoirFluidKind reservoirFluidKind, double gasOilRatio, gsoap_eml2_3::eml23__VolumePerVolumeUom gasOilRatioUom)
Creates an instance of this class in a gsoap context.
FluidSystem(gsoap_resqml2_0_1::eml20__DataObjectReference *partialObject)
Definition FluidSystem.h:113
std::string getXmlNamespace() const final
Definition FluidSystem.h:352
FluidSystem(gsoap_eml2_3::prodml22__FluidSystem *fromGsoap)
Definition FluidSystem.h:168