My Project
Loading...
Searching...
No Matches
intehead.hpp
1/*
2 Copyright (c) 2018 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_INTEHEAD_HPP
21#define OPM_OUTPUT_ECLIPSE_VECTOR_INTEHEAD_HPP
22
23#include <vector>
24
25namespace Opm { namespace RestartIO { namespace Helpers { namespace VectorItems {
26
27 // This is a subset of the items in src/opm/output/eclipse/InteHEAD.cpp .
28 // Promote items from that list to this in order to make them public.
29 enum intehead : std::vector<int>::size_type {
30 ISNUM = 0, // An encoded integer corresponding to the
31 // time the file was created. For files not
32 // originating from ECLIPSE, this value may
33 // be set to zero.
34
35 VERSION = 1, // Simulator version
36 UNIT = 2, // Units convention
37 // 1: METRIC, 2: FIELD, 3: LAB, 4: PVT-M
38
39 NX = 8, // #cells in X direction (Cartesian)
40 NY = 9, // #cells in Y direction (Cartesian)
41 NZ = 10, // #cells in Z direction (Cartesian)
42 NACTIV = 11, // Number of active cells
43
44 PHASE = 14, // Phase indicator:
45 // 1: oil, 2: water, 3: O/W, 4: gas,
46 // 5: G/O, 6: G/W, 7: O/G/W
47
48 NWELLS = 16, // Number of wells
49 NCWMAX = 17, // Maximum number of completions per well
50 NGRP = 18, // Actual number of groups
51 NWGMAX = 19, // Maximum number of wells in any well group
52 NGMAXZ = 20, // Maximum number of groups in field
53
54 NIWELZ = 24, // Number of data elements per well in IWEL array
55 // (default 97 for ECLIPSE, 94 for ECLIPSE 300).
56 NSWELZ = 25, // Number of data elements per well in SWEL array
57 NXWELZ = 26, // Number of delements per well in XWEL array
58 NZWELZ = 27, // Number of 8-character words per well in ZWEL array
59
60 MXWLSTPRWELL = 30, // Maximum number of well lists pr well
61
62 NICONZ = 32, // Number of data elements per completion
63 // in ICON array (default 19)
64 NSCONZ = 33, // Number of data elements per completion in SCON array
65 NXCONZ = 34, // Number of data elements per completion in XCON array
66
67 NIGRPZ = 36, // Number of data elements per group in IGRP array
68 NSGRPZ = 37, // Number of data elements per group in SGRP array
69 NXGRPZ = 38, // Number of data elements per group in XGRP array
70 NZGRPZ = 39, // Number of data elements per group in ZGRP array
71
72 NAQUIF = 40, // Number of *active* analytic aquifers (i.e., number of unique aquifer IDs) in model
73 NCAMAX = 41, // Maximum number of analytic aquifer connections
74
75 NIAAQZ = 42, // Number of data elements per aquifer in IAAQ array
76 NSAAQZ = 43, // Number of data elements per aquifer in SAAQ array
77 NXAAQZ = 44, // Number of data elements per aquifer in XAAQ array
78
79 NICAQZ = 45, // Number of data elements per aquifer connection in ICAQ array
80 NSCAQZ = 46, // Number of data elements per aquifer connection in SCAQ array
81 NACAQZ = 47, // Number of data elements per aquifer connection in ACAQ array
82
83 NGCTRL = 51, // Index indicating if group control is used or not (1 - if group control, 0 if not)
84
85 NGRNPH = 58, // Index indicating if group control is used or not (1 - if group control, 0 if not)
86 EACHNCITS = 59, // Index indicating if lift gas distribution optimized each of the NUPCOL first iterations or not
87 // 1 - optimized only first newton iteration, 2 - optimized each of NUPCOL newton iterations
88
89 DAY = 64, // Calendar day of report step (1..31)
90 MONTH = 65, // Calendar month of report step (1..12)
91 YEAR = 66, // Calendar year of report step
92 NUM_SOLVER_STEPS = 67, //
93 REPORT_STEP = 68, //
94
95 WHISTC = 71, // History matching wells control mode override (WHISTCTL(1)).
96
97 ACTNETWRK = 74, // Indicator for active external network (= 0: no active network, = 2 Active network)
98
99 NetbalMaxTHPIter = 77, // Maximum number of iterations in THP calculations
100 // for manifold groups under rate control (NETBALAN(5))
101 NetbalMaxBalanceIter = 79, // Maximum number of network balance iterations (NETBALAN(3))
102
103 NEWTMX = 80, // Tuning, Record3, Item1
104 NEWTMN = 81, // Tuning, Record3, Item2
105 LITMAX = 82, // Tuning, Record3, Item3
106 LITMIN = 83, // Tuning, Record3, Item4
107 MXWSIT = 86, // Tuning, Record3, Item5
108 MXWPIT = 87, // Tuning, Record3, Item6
109
110 NTFIP = 89, // REGDIMS item1, or TABDIMS item 5
111
112 IPROG = 94, // IPROG = simulation program identifier: 100 - ECLIPSE 100, 300 - ECLIPSE 300, 500 - ECLIPSE 300
113 // (thermal option), negative - Other simulator,
114 NMFIPR = 99, // REGDIMS item2
115
116 ROCKOPTS_TABTYP = 103, // ROCKOPTS item3 (PVTNUM=1 - default)
117
118 NOACTNOD = 129 , // NOACTNOD = Number of active/defined nodes in the network
119 NOACTBR = 130 , // NOACTBR = Number of active/defined branches in the network
120 NODMAX = 131 , // NODMAX = maximum number of nodes in extended network option
121 NBRMAX = 132 , // NBRMAX = maximum number of branches in extended network option
122 NIBRAN = 133 , // NIBRAN = number of entries per branch in the IBRAN array
123 NRBRAN = 134 , // NRBRAN = number of tries per branch in the RBRAN array
124 NINODE = 135 , // NINODE = number of entries per node in the INODE array
125 NRNODE = 136 , // NRNODE = number of entries per node in the RNODE array
126 NZNODE = 137 , // NZNODE = number of entries per node in the ZNODE array
127 NINOBR = 138 , // NINOBR = size of the INOBR array
128
129 NOOFACTIONS = 156, // The number of actions in the dataset
130 MAXNOLINES = 157, // Maximum number of lines of schedule data for ACTION keyword - including ENDACTIO
131 MAXNOSTRPRLINE = 158, // Maximum number of 8-chars strings pr input line of Action data (rounded up from input)
132
133 MAX_ACT_ANLYTIC_AQUCONN = 162, // Maximum number of *active* connections across all analytic aquifers
134 NWMAXZ = 163, // Maximum number of wells in the model
135
136 NSEGWL = 174, // Number of multisegment wells defined with WELSEG
137 NSWLMX = 175, // Maximum number of segmented wells (item 1 ofWSEGDIMS)
138 NSEGMX = 176, // Maximum number of segments per well (item 2 of WSEGDIMS)
139 NLBRMX = 177, // Maximum number of lateral branches (item 3 of WSEGDIMS)
140
141 NISEGZ = 178, // Number of entries per segment in ISEG array
142 NRSEGZ = 179, // Number of entries per segment in RSEG array
143 NILBRZ = 180, // Number of entries per segment in ILBR array
144
145 IHOURZ = 206, // IHOURZ = current simulation time HH:MM:SS – number of hours (HH) (0-23).
146 IMINTS = 207, // IMINTS = current simulation time HH:MM:SS – number of minutes (MM) (0-59).
147
148 WSEGITR_IT2 = 208, // NR - maximum no of times that a new iteration cycle with a reduced Wp will be started
149
150 NIIAQN = 223, // Number of data elements in IAQN array pr AQUNUM record
151 NIRAQN = 224, // Number of data elements in RAQN array pr AQUNUM record
152
153 NUM_AQUNUM_RECORDS = 226, // Number of AQUNUM records (lines of AQUNUM data)
154
155 MAX_ACT_COND = 245, // Maximum number of conditions pr action
156 MAX_AN_AQUIFER_ID = 252, // Maximum aquifer ID of all analytic aquifers (<= AQUDIMS(5))
157
158 NO_CONN_UDQS = 261, // Number of connection-level UDQ parameters
159 NO_FIELD_UDQS = 262, // Number of field-level UDQ parameters
160 NO_GROUP_UDQS = 263, // Number of group-level UDQ parameters
161 NO_REG_UDQS = 264, // Number of region-level UDQ parameters
162 NO_SEG_UDQS = 265, // Number of segment-level UDQ parameters
163 NO_WELL_UDQS = 266, // Number of well-level UDQ parameters
164 UDQPAR_1 = 267, // Integer seed value for the RAND
165
166 AQU_UNKNOWN_1 = 269, // Not characterised. Equal to NAQUIF in all cases seen so far.
167 MAX_ANALYTIC_AQUIFERS = 286, // Declared maximum number of analytic aquifers in model. AQUDIMS(5).
168
169 NO_AQU_UDQS = 288, // Number of aquifer-level UDQ parameters
170 NO_BLK_UDQS = 289, // Number of block-level UDQ parameters
171
172 NO_IUADS = 290, // No IUADs
173 NO_IUAPS = 291, // No IUAPs
174 RSEED = 296,
175
176 MAXDYNWELLST = 302, // Maximum number of dynamic well lists (default = 1)
177
178 ISECND = 410, // ISECND = current simulation time HH:MM:SS - number
179 // of seconds (SS), reported in microseconds (0 .. 59,999,999)
180 };
181
182 namespace InteheadValues {
183 enum LiftOpt : int {
184 NotActive = 0, // Gas lift not enabled (LIFTOPT not present)
185 FirstIterationOnly = 1, // Optimise gas lift in first Newton iteration only (LIFTOPT(4) = NO)
186 EachNupCol = 2, // Optimise gas lift in each of first NUPCOL Newton iterations (LIFTOPT(4) = YES)
187 };
188 } // InteheadValues
189}}}} // Opm::RestartIO::Helpers::VectorItems
190
191#endif // OPM_OUTPUT_ECLIPSE_VECTOR_INTEHEAD_HPP
This class implements a small container which holds the transmissibility mulitpliers for all the face...
Definition Exceptions.hpp:30