37 std::string unit_string;
38 Phase phase = Phase::OIL;
39 std::optional<std::vector<double>> free_concentration;
40 std::optional<std::vector<double>> solution_concentration;
41 std::optional<TracerVdTable> free_tvdp;
42 std::optional<TracerVdTable> solution_tvdp;
43 std::string fname()
const {
44 return this->name +
"F";
49 TracerEntry(
const std::string& name_,
const std::string& unit_string_,
50 Phase phase_, std::vector<double> free_concentration_)
52 , unit_string(unit_string_)
54 , free_concentration(std::move(free_concentration_))
57 TracerEntry(
const std::string& name_,
const std::string& unit_string_,
58 Phase phase_, std::vector<double> free_concentration_, std::vector<double> solution_concentration_)
60 , unit_string(unit_string_)
62 , free_concentration(std::move(free_concentration_))
63 , solution_concentration(std::move(solution_concentration_))
66 TracerEntry(
const std::string& name_,
const std::string& unit_string_,
69 , unit_string(unit_string_)
71 , free_tvdp(std::move(free_tvdp_))
74 TracerEntry(
const std::string& name_,
const std::string& unit_string_,
77 , unit_string(unit_string_)
79 , free_tvdp(std::move(free_tvdp_))
80 , solution_tvdp(std::move(solution_tvdp_))
83 TracerEntry(
const std::string& name_,
const std::string& unit_string_, Phase phase_)
85 , unit_string(unit_string_)
90 return this->name == data.name &&
91 this->unit_string == data.unit_string &&
92 this->phase == data.phase &&
93 this->free_concentration == data.free_concentration &&
94 this->solution_concentration == data.solution_concentration &&
95 this->free_tvdp == data.free_tvdp &&
96 this->solution_tvdp == data.solution_tvdp;
99 template<
class Serializer>
103 serializer(unit_string);
105 serializer(free_concentration);
106 serializer(solution_concentration);
107 serializer(this->free_tvdp);
108 serializer(this->solution_tvdp);