Equil.hpp
Go to the documentation of this file.
1#ifndef OPM_EQUIL_HPP
2#define OPM_EQUIL_HPP
3
4#include <cstddef>
5#include <vector>
6
7namespace Opm {
8 class DeckKeyword;
9 class EquilRecord {
10 public:
11 double datumDepth() const;
12 double datumDepthPressure() const;
13 double waterOilContactDepth() const;
15 double gasOilContactDepth() const;
17
21
23
24 EquilRecord( double datum_depth_arg, double datum_depth_pc_arg, double woc_depth, double woc_pc, double goc_depth, double goc_pc, bool live_oil_init, bool wet_gas_init, int target_accuracy);
25
26 bool operator==(const EquilRecord& data) const;
27
28 template<class Serializer>
29 void serializeOp(Serializer& serializer)
30 {
31 serializer(datum_depth);
32 serializer(datum_depth_ps);
33 serializer(water_oil_contact_depth);
34 serializer(water_oil_contact_capillary_pressure);
35 serializer(gas_oil_contact_depth);
36 serializer(gas_oil_contact_capillary_pressure);
37 serializer(live_oil_init_proc);
38 serializer(wet_gas_init_proc);
39 serializer(init_target_accuracy);
40 }
41
42 private:
43 double datum_depth;
44 double datum_depth_ps;
45 double water_oil_contact_depth;
46 double water_oil_contact_capillary_pressure;
47 double gas_oil_contact_depth;
48 double gas_oil_contact_capillary_pressure;
49
50 bool live_oil_init_proc;
51 bool wet_gas_init_proc;
52 int init_target_accuracy;
53 };
54
55 class Equil {
56 public:
57 using const_iterator = std::vector< EquilRecord >::const_iterator;
58
59 Equil() = default;
60 explicit Equil( const DeckKeyword& );
61
63
64 const EquilRecord& getRecord( size_t id ) const;
65
66 size_t size() const;
67 bool empty() const;
68
71
72 bool operator==(const Equil& data) const;
73
74 template<class Serializer>
75 void serializeOp(Serializer& serializer)
76 {
77 serializer.vector(m_records);
78 }
79
80 private:
81 std::vector< EquilRecord > m_records;
82 };
83
84}
85
86#endif //OPM_EQUIL_HPP
Definition: DeckKeyword.hpp:38
Definition: Equil.hpp:55
static Equil serializeObject()
bool operator==(const Equil &data) const
const_iterator end() const
Equil()=default
Equil(const DeckKeyword &)
std::vector< EquilRecord >::const_iterator const_iterator
Definition: Equil.hpp:57
void serializeOp(Serializer &serializer)
Definition: Equil.hpp:75
bool empty() const
const_iterator begin() const
size_t size() const
const EquilRecord & getRecord(size_t id) const
Definition: Equil.hpp:9
double waterOilContactDepth() const
EquilRecord(double datum_depth_arg, double datum_depth_pc_arg, double woc_depth, double woc_pc, double goc_depth, double goc_pc, bool live_oil_init, bool wet_gas_init, int target_accuracy)
int initializationTargetAccuracy() const
bool wetGasInitConstantRv() const
bool liveOilInitConstantRs() const
double gasOilContactCapillaryPressure() const
bool operator==(const EquilRecord &data) const
double datumDepth() const
double gasOilContactDepth() const
double datumDepthPressure() const
double waterOilContactCapillaryPressure() const
void serializeOp(Serializer &serializer)
Definition: Equil.hpp:29
Definition: Serializer.hpp:38
Definition: A.hpp:4
static std::string data()
Definition: exprtk.hpp:40022