opm-common
Toggle main menu visibility
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
25
namespace
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 (per Grid)
49
NCWMAX = 17,
// Maximum number of completions per well
50
NGRP = 18,
// Actual number of groups for Global grid
51
NWGMAX = 19,
// Maximum number of wells in any well group
52
NGMAXZ = 20,
// Maximum number of groups in field (per Grid)
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 (per Grid)
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
DRSDT_FREE = 199,
// Option flag in DRSDT: 0 = ALL (default), 1 = FREE (only apply DRSDT limit to cells contatining free gas)
149
150
WSEGITR_IT2 = 208,
// NR - maximum no of times that a new iteration cycle with a reduced Wp will be started
151
152
NIIAQN = 223,
// Number of data elements in IAQN array pr AQUNUM record
153
NIRAQN = 224,
// Number of data elements in RAQN array pr AQUNUM record
154
155
NUM_AQUNUM_RECORDS = 226,
// Number of AQUNUM records (lines of AQUNUM data)
156
157
MAX_ACT_COND = 245,
// Maximum number of conditions pr action
158
MAX_AN_AQUIFER_ID = 252,
// Maximum aquifer ID of all analytic aquifers (<= AQUDIMS(5))
159
160
NO_CONN_UDQS = 261,
// Number of connection-level UDQ parameters
161
NO_FIELD_UDQS = 262,
// Number of field-level UDQ parameters
162
NO_GROUP_UDQS = 263,
// Number of group-level UDQ parameters
163
NO_REG_UDQS = 264,
// Number of region-level UDQ parameters
164
NO_SEG_UDQS = 265,
// Number of segment-level UDQ parameters
165
NO_WELL_UDQS = 266,
// Number of well-level UDQ parameters
166
UDQPAR_1 = 267,
// Integer seed value for the RAND
167
168
AQU_UNKNOWN_1 = 269,
// Not characterised. Equal to NAQUIF in all cases seen so far.
169
MAX_ANALYTIC_AQUIFERS = 286,
// Declared maximum number of analytic aquifers in model. AQUDIMS(5).
170
171
NO_AQU_UDQS = 288,
// Number of aquifer-level UDQ parameters
172
NO_BLK_UDQS = 289,
// Number of block-level UDQ parameters
173
174
NO_IUADS = 290,
// No IUADs
175
NO_IUAPS = 291,
// No IUAPs
176
RSEED = 296,
177
178
MAXDYNWELLST = 302,
// Maximum number of dynamic well lists (default = 1)
179
180
ISECND = 410,
// ISECND = current simulation time HH:MM:SS - number
181
// of seconds (SS), reported in microseconds (0 .. 59,999,999)
182
};
183
184
namespace
InteheadValues {
185
enum
LiftOpt :
int
{
186
NotActive = 0,
// Gas lift not enabled (LIFTOPT not present)
187
FirstIterationOnly = 1,
// Optimise gas lift in first Newton iteration only (LIFTOPT(4) = NO)
188
EachNupCol = 2,
// Optimise gas lift in each of first NUPCOL Newton iterations (LIFTOPT(4) = YES)
189
};
190
}
// InteheadValues
191
}}}}
// Opm::RestartIO::Helpers::VectorItems
192
193
#endif
// OPM_OUTPUT_ECLIPSE_VECTOR_INTEHEAD_HPP
Opm
This class implements a small container which holds the transmissibility mulitpliers for all the face...
Definition
Exceptions.hpp:30
opm
output
eclipse
VectorItems
intehead.hpp
Generated by
1.17.0