20 #ifndef OPM_TRACER_CONFIG_HPP
21 #define OPM_TRACER_CONFIG_HPP
23 #include <opm/parser/eclipse/EclipseState/Runspec.hpp>
35 std::string unit_string;
36 Phase phase = Phase::OIL;
37 std::vector<double> free_concentration;
38 std::vector<double> solution_concentration;
43 TracerEntry(
const std::string& name_,
const std::string& unit_string_,
44 Phase phase_, std::vector<double> free_concentration_)
46 , unit_string(unit_string_)
48 , free_concentration(std::move(free_concentration_))
51 TracerEntry(
const std::string& name_,
const std::string& unit_string_,
52 Phase phase_, std::vector<double> free_concentration_, std::vector<double> solution_concentration_)
54 , unit_string(unit_string_)
56 , free_concentration(std::move(free_concentration_))
57 , solution_concentration(std::move(solution_concentration_))
60 TracerEntry(
const std::string& name_,
const std::string& unit_string_,
63 , unit_string(unit_string_)
65 , free_tvdp(std::move(free_tvdp_))
68 TracerEntry(
const std::string& name_,
const std::string& unit_string_,
71 , unit_string(unit_string_)
73 , free_tvdp(std::move(free_tvdp_))
74 , solution_tvdp(std::move(solution_tvdp_))
78 return this->name == data.name &&
79 this->unit_string == data.unit_string &&
80 this->phase == data.phase &&
81 this->free_concentration == data.free_concentration &&
82 this->solution_concentration == data.solution_concentration &&
83 this->free_tvdp == data.free_tvdp &&
84 this->solution_tvdp == data.solution_tvdp;
87 template<
class Serializer>
91 serializer(unit_string);
93 serializer(free_concentration);
94 serializer(solution_concentration);
95 free_tvdp.serializeOp(serializer);
96 solution_tvdp.serializeOp(serializer);
107 const std::vector<TracerEntry>::const_iterator begin()
const;
108 const std::vector<TracerEntry>::const_iterator end()
const;
110 template<
class Serializer>
113 serializer.vector(tracers);
118 std::string get_unit_string(
const UnitSystem& unit_system,
const std::string & tracer_kw)
const;
121 std::vector<TracerEntry> tracers;
A class that contains tracer concentration vs depth table.
Definition: Serializer.hpp:38
Definition: TracerConfig.hpp:31
A class that contains tracer concentration vs depth table.
Definition: TracerVdTable.hpp:35
Definition: UnitSystem.hpp:34
This class implements a small container which holds the transmissibility mulitpliers for all the face...
Definition: Exceptions.hpp:29
Definition: TracerConfig.hpp:33