1 #ifndef OPM_FLAT_TABLE_HPP
2 #define OPM_FLAT_TABLE_HPP
12 explicit FlatTable(
const std::vector<T>& data) :
16 template<
class Serializer>
19 serializer.vector(*
this);
24 static constexpr std::size_t size = 3;
31 return oil == data.oil &&
32 water == data.water &&
36 template<
class Serializer>
55 static constexpr std::size_t size = 3;
62 return this->oil_api == data.oil_api &&
63 this->water_sg == data.water_sg &&
64 this->gas_sg == data.gas_sg;
67 template<
class Serializer>
70 serializer(this->oil_api);
71 serializer(this->water_sg);
72 serializer(this->gas_sg);
86 static constexpr std::size_t size = 8;
94 double gas_in_oil_cross_phase;
95 double oil_in_oil_cross_phase;
98 return oil_mw == data.oil_mw &&
99 gas_mw == data.gas_mw &&
100 gas_in_gas == data.gas_in_gas &&
101 oil_in_gas == data.oil_in_gas &&
102 gas_in_oil == data.gas_in_oil &&
103 oil_in_oil == data.oil_in_oil &&
104 gas_in_oil_cross_phase == data.gas_in_oil_cross_phase &&
105 oil_in_oil_cross_phase == data.oil_in_oil_cross_phase;
108 template<
class Serializer>
113 serializer(gas_in_gas);
114 serializer(oil_in_gas);
115 serializer(gas_in_oil);
116 serializer(oil_in_oil);
117 serializer(gas_in_oil_cross_phase);
118 serializer(oil_in_oil_cross_phase);
127 return DiffCoeffTable({{1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0}});
132 static constexpr std::size_t size = 5;
134 double reference_pressure;
135 double volume_factor;
136 double compressibility;
138 double viscosibility;
140 bool operator==(
const PVTWRecord& data)
const {
141 return reference_pressure == data.reference_pressure &&
142 volume_factor == data.volume_factor &&
143 compressibility == data.compressibility &&
144 viscosity == data.viscosity &&
145 viscosibility == data.viscosibility;
148 template<
class Serializer>
151 serializer(reference_pressure);
152 serializer(volume_factor);
153 serializer(compressibility);
154 serializer(viscosity);
155 serializer(viscosibility);
164 return PvtwTable({{1.0, 2.0, 3.0, 4.0, 5.0}});
169 static constexpr std::size_t size = 2;
171 double reference_pressure;
172 double compressibility;
174 bool operator==(
const ROCKRecord& data)
const {
175 return reference_pressure == data.reference_pressure &&
176 compressibility == data.compressibility;
179 template<
class Serializer>
182 serializer(reference_pressure);
183 serializer(compressibility);
197 static constexpr std::size_t size = 5;
199 double reference_pressure;
200 double volume_factor;
201 double compressibility;
203 double viscosibility;
206 return reference_pressure == data.reference_pressure &&
207 volume_factor == data.volume_factor &&
208 compressibility == data.compressibility &&
209 viscosity == data.viscosity &&
210 viscosibility == data.viscosibility;
213 template<
class Serializer>
216 serializer(reference_pressure);
217 serializer(volume_factor);
218 serializer(compressibility);
219 serializer(viscosity);
220 serializer(viscosibility);
229 return PvcdoTable({{1.0, 2.0, 3.0, 4.0, 5.0}});
234 static constexpr std::size_t size = 1;
236 double todd_langstaff;
239 return todd_langstaff == data.todd_langstaff;
242 template<
class Serializer>
245 serializer(todd_langstaff);
259 static constexpr std::size_t size = 4;
267 return k_mh == data.k_mh &&
269 gamma == data.gamma &&
273 template<
class Serializer>
293 static constexpr std::size_t size = 1;
298 return rate == data.rate;
301 template<
class Serializer>
318 static constexpr std::size_t size = 1;
323 return eta == data.eta;
326 template<
class Serializer>
343 static constexpr std::size_t size = 2;
349 return viscosity == data.viscosity &&
350 density == data.density;
353 template<
class Serializer>
356 serializer(viscosity);
371 static constexpr std::size_t size = 2;
373 double reference_pressure;
377 return reference_pressure == data.reference_pressure &&
378 reference_rs == data.reference_rs;
381 template<
class Serializer>
384 serializer(reference_pressure);
385 serializer(reference_rs);
399 static constexpr std::size_t size = 3;
401 double reference_temperature;
402 double first_coefficient;
403 double second_coefficient;
406 return reference_temperature == data.reference_temperature &&
407 first_coefficient == data.first_coefficient &&
408 second_coefficient == data.second_coefficient;
411 template<
class Serializer>
414 serializer(reference_temperature);
415 serializer(first_coefficient);
416 serializer(second_coefficient);
Definition: DeckKeyword.hpp:36
Definition: Serializer.hpp:38
This class implements a small container which holds the transmissibility mulitpliers for all the face...
Definition: Exceptions.hpp:29
Definition: FlatTable.hpp:23
Definition: FlatTable.hpp:45
Definition: FlatTable.hpp:85
Definition: FlatTable.hpp:122
Definition: FlatTable.hpp:9
Definition: FlatTable.hpp:54
Definition: FlatTable.hpp:76
Definition: FlatTable.hpp:196
Definition: FlatTable.hpp:131
Definition: FlatTable.hpp:233
Definition: FlatTable.hpp:249
Definition: FlatTable.hpp:258
Definition: FlatTable.hpp:283
Definition: FlatTable.hpp:224
Definition: FlatTable.hpp:159
Definition: FlatTable.hpp:168
Definition: FlatTable.hpp:187
Definition: FlatTable.hpp:292
Definition: FlatTable.hpp:308
Definition: FlatTable.hpp:317
Definition: FlatTable.hpp:333
Definition: FlatTable.hpp:342
Definition: FlatTable.hpp:361
Definition: FlatTable.hpp:370
Definition: FlatTable.hpp:389
Definition: FlatTable.hpp:398
Definition: FlatTable.hpp:420