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,
92 void add(
const std::string& region,
94 std::size_t region_number,
102 void add(Phase phase,
double value);
119 double get(
const std::string& region,
121 std::size_t region_number)
const;
131 double get(Phase phase)
const;
145 bool has(
const std::string& region,
147 std::size_t region_number)
const;
155 bool has(Phase phase)
const;
169 std::size_t
max_region(
const std::string& region_name)
const;
183 get_vector(
const std::string& region, Phase phase)
const;
187 static const std::vector<Phase>&
phases();
198 template<
class Serializer>
201 serializer(phase_values);
213 using ValueMap = std::unordered_map<std::size_t, double>;
214 using PhaseMap = std::unordered_map<Phase, ValueMap>;
215 using RegionMap = std::unordered_map<std::string, PhaseMap>;
219 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:210
static const std::vector< Phase > & phases()
Get iterable list of all quantities which can be handled/updated in a generic way.
Definition Inplace.cpp:199
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:172
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:125
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:90
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:77
std::size_t max_region() const
Retrieve the maximum region ID registered across all quantities in all registered region sets.
Definition Inplace.cpp:148
bool operator==(const Inplace &rhs) const
Equality predicate.
Definition Inplace.cpp:241
void serializeOp(Serializer &serializer)
Serialisation interface.
Definition Inplace.hpp:199
Class for (de-)serializing.
Definition Serializer.hpp:84
This class implements a small container which holds the transmissibility mulitpliers for all the face...
Definition Exceptions.hpp:30