26 #include <unordered_map>
29 #include <opm/parser/eclipse/EclipseState/Schedule/UDQ/UDQEnums.hpp>
39 explicit UDQScalar(
const std::string& wgname);
42 void operator+=(
double rhs);
44 void operator*=(
double rhs);
46 void operator/=(
double rhs);
48 void operator-=(
double rhs);
50 operator bool()
const;
51 void assign(
const std::optional<double>& value);
52 void assign(
double value);
55 const std::optional<double>& value()
const;
56 const std::string& wgname()
const;
57 bool operator==(
const UDQScalar& other)
const;
61 std::optional<double> m_value;
68 UDQSet(
const std::string& name, UDQVarType var_type);
69 UDQSet(
const std::string& name, UDQVarType var_type,
const std::vector<std::string>& wgnames);
70 UDQSet(
const std::string& name, UDQVarType var_type, std::size_t size);
71 UDQSet(
const std::string& name, std::size_t size);
74 static UDQSet scalar(
const std::string& name,
const std::optional<double>& scalar_value);
75 static UDQSet scalar(
const std::string& name,
double value);
76 static UDQSet empty(
const std::string& name);
77 static UDQSet wells(
const std::string& name,
const std::vector<std::string>& wells);
78 static UDQSet wells(
const std::string& name,
const std::vector<std::string>& wells,
double scalar_value);
79 static UDQSet groups(
const std::string& name,
const std::vector<std::string>& groups);
80 static UDQSet groups(
const std::string& name,
const std::vector<std::string>& groups,
double scalar_value);
81 static UDQSet field(
const std::string& name,
double scalar_value);
83 void assign(
const std::optional<double>& value);
84 void assign(
const std::string& wgname,
const std::optional<double>& value);
86 void assign(
double value);
87 void assign(std::size_t index,
double value);
88 void assign(
const std::string& wgname,
double value);
90 bool has(
const std::string& name)
const;
91 std::size_t size()
const;
92 void operator+=(
const UDQSet& rhs);
93 void operator+=(
double rhs);
94 void operator-=(
const UDQSet& rhs);
95 void operator-=(
double rhs);
96 void operator*=(
const UDQSet& rhs);
97 void operator*=(
double rhs);
98 void operator/=(
const UDQSet& rhs);
99 void operator/=(
double rhs);
101 const UDQScalar& operator[](std::size_t index)
const;
102 const UDQScalar& operator[](
const std::string& wgname)
const;
103 std::vector<UDQScalar>::const_iterator begin()
const;
104 std::vector<UDQScalar>::const_iterator end()
const;
106 std::vector<std::string> wgnames()
const;
107 std::vector<double> defined_values()
const;
108 std::size_t defined_size()
const;
109 const std::string& name()
const;
110 void name(
const std::string& name);
111 UDQVarType var_type()
const;
112 bool operator==(
const UDQSet& other)
const;
117 UDQVarType m_var_type = UDQVarType::NONE;
118 std::vector<UDQScalar> values;
Definition: Serializer.hpp:38
Definition: UDQSet.hpp:35
Definition: UDQSet.hpp:66
This class implements a small container which holds the transmissibility mulitpliers for all the face...
Definition: Exceptions.hpp:29