My Project
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 
25 namespace 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:29