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,
96 void add(
const std::string& region,
98 std::size_t region_number,
106 void add(Phase phase,
double value);
123 double get(
const std::string& region,
125 std::size_t region_number)
const;
135 double get(Phase phase)
const;
149 bool has(
const std::string& region,
151 std::size_t region_number)
const;
159 bool has(Phase phase)
const;
173 std::size_t
max_region(
const std::string& region_name)
const;
187 get_vector(
const std::string& region, Phase phase)
const;
191 static const std::vector<Phase>&
phases();
202 template<
class Serializer>
205 serializer(phase_values);
217 using ValueMap = std::unordered_map<std::size_t, double>;
218 using PhaseMap = std::unordered_map<Phase, ValueMap>;
219 using RegionMap = std::unordered_map<std::string, PhaseMap>;
223 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:245
void serializeOp(Serializer &serializer)
Serialisation interface.
Definition Inplace.hpp:203
Class for (de-)serializing.
Definition Serializer.hpp:91
This class implements a small container which holds the transmissibility mulitpliers for all the face...
Definition Exceptions.hpp:30