25 #include <unordered_set>
30 #include <opm/parser/eclipse/EclipseState/Schedule/UDQ/UDQEnums.hpp>
31 #include <opm/parser/eclipse/EclipseState/Runspec.hpp>
42 RstDefine(
const std::string& expression_arg, UDQUpdate status_arg);
44 std::string expression;
46 std::vector<std::pair<std::string, double>> values;
47 std::optional<double> field_value;
51 void update_value(
const std::string& name_arg,
double new_value);
53 std::optional<double> value;
54 std::unordered_set<std::string> selector;
58 RstUDQ(
const std::string& name_arg,
59 const std::string& unit_arg,
60 const std::string& define_arg,
61 UDQUpdate status_arg);
63 RstUDQ(
const std::string& name_arg,
64 const std::string& unit_arg);
66 void add_value(
double value);
67 void add_value(
const std::string& wgname,
double value);
69 bool is_define()
const;
70 double assign_value()
const;
71 const std::unordered_set<std::string>& assign_selector()
const;
72 const std::string& expression()
const;
73 const std::vector<std::pair<std::string, double>>& values()
const;
74 std::optional<double> field_value()
const;
81 std::variant<std::monostate, RstDefine, RstAssign> data;
89 RstRecord(UDAControl c, std::size_t i, std::size_t u1, std::size_t u2);
93 std::size_t input_index;
94 std::size_t use_count;
95 std::size_t wg_offset;
101 RstUDQActive(
const std::vector<int>& iuad,
const std::vector<int>& iuap,
const std::vector<int>& igph);
103 std::vector<RstRecord> iuad;
104 std::vector<int> wg_index;
105 std::vector<Phase> ig_phase;
This class implements a small container which holds the transmissibility mulitpliers for all the face...
Definition: Exceptions.hpp:29