20 #ifndef SUMMARY_STATE_H
21 #define SUMMARY_STATE_H
27 #include <unordered_map>
31 #include <opm/common/utility/TimeService.hpp>
71 typedef std::unordered_map<std::string, double>::const_iterator const_iterator;
83 void set(
const std::string& key,
double value);
85 bool erase(
const std::string& key);
86 bool erase_well_var(
const std::string& well,
const std::string& var);
87 bool erase_group_var(
const std::string& group,
const std::string& var);
89 bool has(
const std::string& key)
const;
90 bool has_well_var(
const std::string& well,
const std::string& var)
const;
91 bool has_well_var(
const std::string& var)
const;
92 bool has_group_var(
const std::string& group,
const std::string& var)
const;
93 bool has_group_var(
const std::string& var)
const;
94 bool has_conn_var(
const std::string& well,
const std::string& var, std::size_t global_index)
const;
97 void update(
const std::string& key,
double value);
98 void update_well_var(
const std::string& well,
const std::string& var,
double value);
99 void update_group_var(
const std::string& group,
const std::string& var,
double value);
100 void update_elapsed(
double delta);
101 void update_udq(
const UDQSet& udq_set,
double undefined_value);
102 void update_conn_var(
const std::string& well,
const std::string& var, std::size_t global_index,
double value);
104 double get(
const std::string&)
const;
105 double get(
const std::string&,
double)
const;
106 double get_elapsed()
const;
107 double get_well_var(
const std::string& well,
const std::string& var)
const;
108 double get_group_var(
const std::string& group,
const std::string& var)
const;
109 double get_conn_var(
const std::string& conn,
const std::string& var, std::size_t global_index)
const;
110 double get_well_var(
const std::string& well,
const std::string& var,
double)
const;
111 double get_group_var(
const std::string& group,
const std::string& var,
double)
const;
112 double get_conn_var(
const std::string& conn,
const std::string& var, std::size_t global_index,
double)
const;
114 const std::vector<std::string>& wells()
const;
115 std::vector<std::string> wells(
const std::string& var)
const;
116 const std::vector<std::string>& groups()
const;
117 std::vector<std::string> groups(
const std::string& var)
const;
118 std::vector<char> serialize()
const;
119 void deserialize(
const std::vector<char>& buffer);
120 const_iterator begin()
const;
121 const_iterator end()
const;
122 std::size_t num_wells()
const;
123 std::size_t size()
const;
126 time_point sim_start;
128 std::unordered_map<std::string,double> values;
131 std::unordered_map<std::string, std::unordered_map<std::string, double>> well_values;
132 std::set<std::string> m_wells;
133 mutable std::optional<std::vector<std::string>> well_names;
136 std::unordered_map<std::string, std::unordered_map<std::string, double>> group_values;
137 std::set<std::string> m_groups;
138 mutable std::optional<std::vector<std::string>> group_names;
142 std::unordered_map<std::string, std::unordered_map<std::string, std::unordered_map<std::size_t, double>>> conn_values;
146 std::ostream& operator<<(std::ostream& stream,
const SummaryState& st);
Definition: SummaryState.hpp:69
Definition: UDQSet.hpp:66
This class implements a small container which holds the transmissibility mulitpliers for all the face...
Definition: Exceptions.hpp:29