23#include <opm/input/eclipse/Schedule/UDQ/UDQSet.hpp>
27#include <unordered_map>
31namespace Opm {
namespace RestartIO {
43 bool has(
const std::string& key)
const;
46 bool has_well_var(
const std::string& well,
const std::string& key)
const;
47 bool has_group_var(
const std::string& group,
const std::string& key)
const;
48 bool has_segment_var(
const std::string& well,
const std::string& key,
const std::size_t segment)
const;
50 double get(
const std::string& key)
const;
51 double get_group_var(
const std::string& well,
const std::string& var)
const;
52 double get_well_var(
const std::string& well,
const std::string& var)
const;
53 double get_segment_var(
const std::string& well,
const std::string& var,
const std::size_t segment)
const;
55 void add_define(std::size_t report_step,
const std::string& udq_key,
const UDQSet& result);
56 void add_assign(std::size_t report_step,
const std::string& udq_key,
const UDQSet& result);
57 bool assign(std::size_t report_step,
const std::string& udq_key)
const;
58 bool define(
const std::string& udq_key,
const std::pair<UDQUpdate, std::size_t>& update_status)
const;
59 double undefined_value()
const;
61 bool operator==(
const UDQState& other)
const;
63 static UDQState serializationTestObject();
65 template <
class Serializer>
68 serializer(this->undef_value);
69 serializer(this->scalar_values);
70 serializer(this->well_values);
71 serializer(this->group_values);
72 serializer(this->segment_values);
73 serializer(this->assignments);
74 serializer(this->defines);
79 std::unordered_map<std::string, double> scalar_values{};
82 std::unordered_map<std::string, std::unordered_map<std::string, double>> well_values{};
85 std::unordered_map<std::string, std::unordered_map<std::string, double>> group_values{};
88 std::unordered_map<std::string, std::unordered_map<std::string, std::unordered_map<std::size_t, double>>> segment_values{};
90 std::unordered_map<std::string, std::size_t> assignments;
91 std::unordered_map<std::string, std::size_t> defines;
93 void add(
const std::string& udq_key,
const UDQSet& result);
94 double get_wg_var(
const std::string& well,
const std::string& key, UDQVarType var_type)
const;
Class for (de-)serializing.
Definition: Serializer.hpp:84
Definition: UDQSet.hpp:182
Definition: UDQState.hpp:38
This class implements a small container which holds the transmissibility mulitpliers for all the face...
Definition: Exceptions.hpp:30