custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp
Go to the documentation of this file.
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_WELL_HPP
21#define OPM_OUTPUT_ECLIPSE_VECTOR_WELL_HPP
22
23#include <vector>
24
25namespace Opm { namespace RestartIO { namespace Helpers { namespace VectorItems {
26
27 namespace IWell {
28 enum index : std::vector<int>::size_type {
29 IHead = 0, // I-location (one-based) of well head
30 JHead = 1, // J-location (one-based) of well head
31 FirstK = 2, // Layer ID (one-based) of top/first connection
32 LastK = 3, // Layer ID (one-based) of bottom/last connection
33 NConn = 4, // Number of active cells connected to well
34 Group = 5, // Index (one-based) of well's current group
35 WType = 6, // Well type (producer vs. injector)
36 ActWCtrl = 7, // Well's active target control mode (constraint).
37
38 item9 = 8, // Unknown
39 item11 = 10, // Unknown
40 VFPTab = 11, // ID (one-based) of well's current VFP table.
41
42 PredReqWCtrl = 15, // Well's requested control mode from
43 // simulation deck (WCONINJE, WCONPROD).
44
45 item18 = 17, // Unknown
46 XFlow = 22,
47 item25 = 24, // Unknown
48 item32 = 31, // Unknown
49 item48 = 47, // Unknown
50
51 HistReqWCtrl = 49, // Well's requested control mode from
52 // simulation deck (WCONHIST, WCONINJH)
53
54 MsWID = 70, // Multisegment well ID
55 // Value 0 for regular wells
56 // Value 1..#MS wells for MS wells
57 NWseg = 71, // Number of well segments
58 // Value 0 for regular wells
59 // Value #segments for MS wells
60
61 CompOrd = 98, // Well's completion ordering scheme.
62 };
63
64 namespace Value {
65
66 enum WellCtrlMode : int {
67 WMCtlUnk = -10, // Unknown well control mode (OPM only)
68 Group = - 1, // Well under group control
69 Shut = 0, // Well is shut
70 OilRate = 1, // Well controlled by oil rate
71 WatRate = 2, // Well controlled by water rate
72 GasRate = 3, // Well controlled by gas rate
73 LiqRate = 4, // Well controlled by liquid rate
74
75 ResVRate = 5, // Well controlled by
76 // reservoir voidage rate
77
78 THP = 6, // Well controlled by
79 // tubing head pressure target
80
81 BHP = 7, // Well controlled by
82 // bottom-hole pressure target
83
84 CombRate = 9, // Well controlled by linearly
85 // combined rate target
86 };
87
88 enum CompOrder : int {
89 Track = 0, // Connections ordered along
90 // well track (increasing MD)
91
92 Depth = 1, // Connections ordered by inceasing
93 // true vertical depth. Not really
94 // supported in OPM Flow.
95
96 Input = 2, // Connections listed in order of
97 // appearance in simulation model's
98 // COMPDAT keyword.
99 };
100 } // Value
101 } // IWell
102
103 namespace SWell {
104 enum index : std::vector<float>::size_type {
105 OilRateTarget = 0, // Well's current oil rate production target
106 WatRateTarget = 1, // Well's current water rate production target
107 GasRateTarget = 2, // Well's current gas rate production target
108 LiqRateTarget = 3, // Well's current liquid rate production target
109 ResVRateTarget = 4, // Well's current reservoir voidate rate
110 // production target
111
112 THPTarget = 5, // Well's tubing head pressure target
113 BHPTarget = 6, // Well's bottom hole pressure target
114
115 DatumDepth = 9, // Well's reference depth for BHP
116
117 DrainageRadius = 17, // Well's drainage radius - item 7 from WELSPECS
118 EfficiencyFactor1 = 24, // Item2 from WEFAC; this value is repeated at two locations.
120 HistLiqRateTarget = 33, // Well's historical/observed liquid
121 // rate target/limit
122
123 HistGasRateTarget = 54, // Well's historical/observed gas rate
124 // target/limit
125
126 HistBHPTarget = 55, // Well's historical/observed bottom
127 // hole pressure target/limit
128 };
129 } // SWell
130
131 namespace XWell {
132 enum index : std::vector<double>::size_type {
133 OilPrRate = 0, // Well's oil production rate
134 WatPrRate = 1, // Well's water production rate
135 GasPrRate = 2, // Well's gas production rate
136 LiqPrRate = 3, // Well's liquid production rate
137 VoidPrRate = 4, // Well's reservoir voidage production rate
138
139 FlowBHP = 6, // Well's flowing/producing bottom hole pressure
140 WatCut = 7, // Well's producing water cut
141 GORatio = 8, // Well's producing gas/oil ratio
142
143 OilPrTotal = 18, // Well's total cumulative oil production
144 WatPrTotal = 19, // Well's total cumulative water production
145 GasPrTotal = 20, // Well's total cumulative gas production
146 VoidPrTotal = 21, // Well's total cumulative reservoir
147 // voidage production
148
149 WatInjTotal = 23, // Well's total cumulative water injection
150 GasInjTotal = 24, // Well's total cumulative gas injection
151 VoidInjTotal = 25, // Well's total cumulative reservoir volume injection
152
153 GasFVF = 34, // Well's producing gas formation volume factor.
154
155 item37 = 36, // Unknown
156 item38 = 37, // Unknown
157
158 BHPTarget = 41, // Well's current BHP Target/Limit
159
160 HistOilPrTotal = 75, // Well's total cumulative oil production
161 // (observed/historical rates)
162 HistWatPrTotal = 76, // Well's total cumulative water
163 // production (observed/historical rates)
164 HistGasPrTotal = 77, // Well's total cumulative gas production
165 // (observed(historical rates)
166
167 HistWatInjTotal = 81, // Well's total cumulative water injection
168 // (observed/historical rates)
169 HistGasInjTotal = 82, // Well's total cumulative gas injection
170 // (observed/historical rates)
171
172 WatVoidPrRate = 122, // Well's voidage production rate
173 GasVoidPrRate = 123, // Well's voidage production rate
174 };
175 } // XWell
176
177 namespace ZWell {
178 enum index : std::vector<const char*>::size_type {
179 WellName = 0, // Well name
180 ActionX = 2, // ActionX name
181 };
182 } // ZWell
183}}}} // Opm::RestartIO::Helpers::VectorItems
184
185#endif // OPM_OUTPUT_ECLIPSE_VECTOR_WELL_HPP
Definition: parser/eclipse/EclipseState/Schedule/Group/group.hpp:36
Definition: Value.hpp:39
CompOrder
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:88
@ Input
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:96
@ Depth
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:92
@ Track
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:89
WellCtrlMode
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:66
@ WatRate
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:71
@ THP
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:78
@ BHP
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:81
@ LiqRate
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:73
@ CombRate
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:84
@ GasRate
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:72
@ Shut
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:69
@ OilRate
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:70
@ WMCtlUnk
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:67
@ ResVRate
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:75
index
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:28
@ FirstK
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:31
@ item11
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:39
@ JHead
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:30
@ NConn
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:33
@ item25
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:47
@ IHead
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:29
@ item32
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:48
@ MsWID
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:54
@ XFlow
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:46
@ ActWCtrl
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:36
@ VFPTab
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:40
@ item9
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:38
@ PredReqWCtrl
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:42
@ LastK
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:32
@ item48
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:49
@ WType
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:35
@ HistReqWCtrl
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:51
@ NWseg
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:57
@ item18
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:45
@ CompOrd
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:61
index
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:104
@ DatumDepth
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:115
@ HistGasRateTarget
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:123
@ DrainageRadius
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:117
@ EfficiencyFactor2
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:119
@ HistLiqRateTarget
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:120
@ THPTarget
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:112
@ EfficiencyFactor1
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:118
@ GasRateTarget
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:107
@ OilRateTarget
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:105
@ HistBHPTarget
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:126
@ BHPTarget
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:113
@ WatRateTarget
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:106
@ LiqRateTarget
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:108
@ ResVRateTarget
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:109
index
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:132
@ HistWatPrTotal
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:162
@ LiqPrRate
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:136
@ WatVoidPrRate
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:172
@ GasPrRate
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:135
@ WatCut
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:140
@ item38
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:156
@ HistWatInjTotal
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:167
@ WatInjTotal
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:149
@ item37
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:155
@ GORatio
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:141
@ OilPrTotal
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:143
@ GasInjTotal
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:150
@ GasPrTotal
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:145
@ WatPrRate
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:134
@ FlowBHP
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:139
@ VoidInjTotal
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:151
@ GasFVF
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:153
@ WatPrTotal
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:144
@ GasVoidPrRate
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:173
@ HistGasInjTotal
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:169
@ OilPrRate
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:133
@ VoidPrTotal
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:146
@ HistGasPrTotal
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:164
@ VoidPrRate
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:137
@ HistOilPrTotal
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:160
@ BHPTarget
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:158
index
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:178
@ ActionX
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:180
@ WellName
Definition: custom-opm-common/opm-common/opm/output/eclipse/VectorItems/well.hpp:179
Definition: A.hpp:4