25#include <unordered_map>
54 PressureHydroCarbonPV = 10,
55 DynamicPoreVolume = 11,
61 CO2InGasPhaseInMob = 17,
62 CO2InGasPhaseMob = 18,
63 CO2InGasPhaseInMobKrg = 19,
64 CO2InGasPhaseMobKrg = 20,
66 WaterInWaterPhase = 22,
68 CO2MassInWaterPhase = 24,
69 CO2MassInGasPhase = 25,
70 CO2MassInGasPhaseInMob = 26,
71 CO2MassInGasPhaseMob = 27,
72 CO2MassInGasPhaseInMobKrg = 28,
73 CO2MassInGasPhaseMobKrg = 29,
74 CO2MassInGasPhaseEffectiveTrapped = 30,
75 CO2MassInGasPhaseEffectiveUnTrapped = 31,
76 CO2MassInGasPhaseMaximumTrapped = 32,
77 CO2MassInGasPhaseMaximumUnTrapped = 33,
90 static std::string
EclString(
const Phase phase);
104 void add(
const std::string& region,
106 std::size_t region_number,
114 void add(Phase phase,
double value);
131 double get(
const std::string& region,
133 std::size_t region_number)
const;
143 double get(Phase phase)
const;
157 bool has(
const std::string& region,
159 std::size_t region_number)
const;
167 bool has(Phase phase)
const;
181 std::size_t
max_region(
const std::string& region_name)
const;
195 get_vector(
const std::string& region, Phase phase)
const;
199 static const std::vector<Phase>&
phases();
210 template<
class Serializer>
213 serializer(phase_values);
225 using ValueMap = std::unordered_map<std::size_t, double>;
226 using PhaseMap = std::unordered_map<Phase, ValueMap>;
227 using RegionMap = std::unordered_map<std::string, PhaseMap>;
231 RegionMap phase_values{};
Definition Inplace.hpp:36
static Inplace serializationTestObject()
Create non-defaulted object suitable for testing the serialisation operation.
Definition Inplace.cpp:69
static const std::vector< Phase > & mixingPhases()
Get iterable list of all quantities, other than "pure" phases, which can be handled/updated in a gene...
Definition Inplace.cpp:264
static const std::vector< Phase > & phases()
Get iterable list of all quantities which can be handled/updated in a generic way.
Definition Inplace.cpp:253
std::vector< double > get_vector(const std::string ®ion, Phase phase) const
Linearised per-region values for a given phase in a specific region set.
Definition Inplace.cpp:226
bool has(const std::string ®ion, Phase phase, std::size_t region_number) const
Check existence of particular quantity in specific region of named region set.
Definition Inplace.cpp:179
double get(const std::string ®ion, Phase phase, std::size_t region_number) const
Retrieve numerical value of particular quantity in specific region of named region set.
Definition Inplace.cpp:144
void add(const std::string ®ion, Phase phase, std::size_t region_number, double value)
Assign value of particular quantity in specific region of named region set.
Definition Inplace.cpp:131
std::size_t max_region() const
Retrieve the maximum region ID registered across all quantities in all registered region sets.
Definition Inplace.cpp:202
bool operator==(const Inplace &rhs) const
Equality predicate.
Definition Inplace.cpp:304
static std::string EclString(const Phase phase)
Converts phase enum to ECL textual representation.
Definition Inplace.cpp:77
void serializeOp(Serializer &serializer)
Serialisation interface.
Definition Inplace.hpp:211
Class for (de-)serializing.
Definition Serializer.hpp:94
This class implements a small container which holds the transmissibility mulitpliers for all the face...
Definition Exceptions.hpp:30