My Project
Loading...
Searching...
No Matches
ActionValue.hpp
1#ifndef ACTION_VALUE_HPP
2#define ACTION_VALUE_HPP
3
4#include <opm/input/eclipse/Schedule/Action/ActionResult.hpp>
5
6enum TokenType {
7 number, // 0
8 ecl_expr, // 1
9 open_paren, // 2
10 close_paren, // 3
11 op_gt, // 4
12 op_ge, // 5
13 op_lt, // 6
14 op_le, // 7
15 op_eq, // 8
16 op_ne, // 9
17 op_and, // 10
18 op_or, // 11
19 end, // 12
20 error // 13
21};
22
23enum class FuncType {
24 none,
25 time,
26 time_month,
27 region,
28 field,
29 group,
30 well,
31 well_segment,
32 well_connection,
33 Well_lgr,
34 aquifer,
35 block
36};
37
38
39
40namespace Opm {
41namespace Action {
42
43class Value {
44public:
45 explicit Value(double value);
46 Value(const std::string& wname, double value);
47 Value() = default;
48
49 Result eval_cmp(TokenType op, const Value& rhs) const;
50 void add_well(const std::string& well, double value);
51 double scalar() const;
52
53private:
54 Action::Result eval_cmp_wells(TokenType op, double rhs) const;
55
56 double scalar_value;
57 double is_scalar = false;
58 std::vector<std::pair<std::string, double>> well_values;
59};
60
61
62}
63}
64#endif
Definition ActionResult.hpp:99
Definition ActionValue.hpp:43
This class implements a small container which holds the transmissibility mulitpliers for all the face...
Definition Exceptions.hpp:30