My Project
Loading...
Searching...
No Matches
action.hpp
1/*
2 Copyright (c) 2021 Equinor ASA
3
4 This file is part of the Open Porous Media project (OPM).
5
6 OPM is free software: you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation, either version 3 of the License, or
9 (at your option) any later version.
10
11 OPM is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with OPM. If not, see <http://www.gnu.org/licenses/>.
18*/
19
20#ifndef OPM_OUTPUT_ECLIPSE_VECTOR_ACTION_HPP
21#define OPM_OUTPUT_ECLIPSE_VECTOR_ACTION_HPP
22
23#include <vector>
24
25namespace Opm { namespace RestartIO { namespace Helpers { namespace VectorItems {
26
27 namespace IACN {
28 enum index : std::vector<int>::size_type {
29 LHSQuantityType = 10,
30 RHSQuantityType = 11,
31 FirstGreater = 12,
32 TerminalLogic = 13,
33 Paren = 15,
34 Comparator = 16,
35 BoolLink = 17
36 };
37
38 // The same enum is used for both lefthand side and righthand side quantities;
39 // although not all values can be used on both sides.
40 namespace Value {
41 enum QuantityType {
42 Field = 1,
43 Well = 2,
44 Group = 3,
45 Const = 8,
46 Day = 10,
47 Month = 11,
48 Year = 12
49 };
50
51 enum ParenType {
52 None = 0,
53 Open = 1,
54 Close = 2
55 };
56
57 }
58
59 constexpr std::size_t ConditionSize = 26;
60 }
61
62
63 namespace SACN {
64
65 enum index : std::vector<int>::size_type {
66 LHSValue0 = 0,
67 RHSValue0 = 2,
68 LHSValue1 = 4,
69 RHSValue1 = 5,
70 LHSValue2 = 6,
71 RHSValue2 = 7,
72 LHSValue3 = 8,
73 RHSValue3 = 9
74 };
75
76 constexpr std::size_t ConditionSize = 16;
77 }
78
79
80 namespace ZACN {
81 enum index : std::vector<int>::size_type {
82 Quantity = 0,
83 LHSQuantity = 0,
84 RHSQuantity = 1,
85 Comparator = 2,
86 Well = 3,
87 LHSWell = 3,
88 RHSWell = 4,
89 Group = 5,
90 LHSGroup = 5,
91 RHSGroup = 6
92 };
93
94 constexpr std::size_t RHSOffset = 1;
95 constexpr std::size_t ConditionSize = 13;
96 }
97
98 namespace ZLACT {
99
100 constexpr std::size_t max_line_length = 128;
101 }
102
103
104
105}}}} // Opm::RestartIO::Helpers::VectorItems
106
107#endif
This class implements a small container which holds the transmissibility mulitpliers for all the face...
Definition Exceptions.hpp:30