opm-common
Loading...
Searching...
No Matches
connection.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_CONNECTION_HPP
21#define OPM_OUTPUT_ECLIPSE_VECTOR_CONNECTION_HPP
22
23#include <vector>
24
25namespace Opm::RestartIO::Helpers::VectorItems {
26 namespace IConn {
27 enum index : std::vector<int>::size_type {
28 SeqIndex = 0, // Connection sequence index
29 CellI = 1, // I-location (1-based cell index) of connection
30 CellJ = 2, // J-location (1-based cell index) of connection
31 CellK = 3, // K-location (1-based cell index) of connection
32 ConnStat = 5, // Connection status.
33 // > 0 => open, shut otherwise
34
35 Drainage = 6, // Saturation function (table ID) for drainage
36 Imbibition = 9, // Saturation function (table ID) for imbibition
37
38 ComplNum = 12, // Completion ID (1-based)
39 ConnDir = 13, // Penetration direction (1:X, 2:Y, 3:Z)
40 Segment = 14, // Segment ID of connection
41 // 0 for regular connections, > 0 for MSW.
42
43 ConnIdx = 25, // Connection index (1-based)
44 };
45 } // IConn
46
47 namespace SConn {
48 enum index : std::vector<float>::size_type {
49 EffConnTrans = 0, // Effective connection transmissibility factor (incl. ROCKTAB &c)
50 Depth = 1, // Connection centre depth
51 Diameter = 2, // Connection diameter
52
53 EffectiveKH = 3, // Effective Kh product of connection
54 SkinFactor = 4, // Skinfactor - item 'SKIN' from COMPDAT
55
56 CFDenom = 6, // Denominator in connection transmissibility
57 // factor expression
58
59 ConnTrans = 11, // Connection transmissibility factor
60
61 SegDistEnd = 20, // Distance to end of connection in segment
62 SegDistStart = 21, // Distance to start of connection in segment
63
64 item30 = 29, // Unknown
65 item31 = 30, // Unknown
66
67 EffectiveLength = 31, // Effective length of connection's perforation interval.
68
69 StaticDFacCorrCoeff = 37, // Static component of Forchheimer
70 // D-factor correlation.
71
72 CFInDeck = 40, // = 0 for connection factor not defined in input,
73 // = 1 for connection factor defined in input.
74
75 PressEquivRad = 41, // Connection's pressure equivalent radius.
76 };
77 } // SConn
78
79 namespace XConn {
80 enum index : std::vector<double>::size_type {
81 OilRate = 0, // Surface flow rate (oil)
82 WaterRate = 1, // Surface flow rate (water)
83 GasRate = 2, // Surface Flow rate (gas)
84
85 OilPrTotal = 3, // Total cumulative oil production
86 WatPrTotal = 4, // Total cumulative water production
87 GasPrTotal = 5, // Total cumulative gas production
88
89 OilInjTotal = 6, // Total cumulative oil injection
90 WatInjTotal = 7, // Total cumulative water injection
91 GasInjTotal = 8, // Total cumulative gas injection
92
93 GORatio = 10, // Producing gas/oil ratio
94
95 OilRate_Copy = 17, // Surface flow rate (oil)
96 WaterRate_Copy = 18, // Surface flow rate (water)
97 GasRate_Copy = 19, // Surface Flow rate (gas)
98
99 Pressure = 34, // Connection pressure value
100
101 ResVRate = 49, // Reservoir voidage rate
102 VoidPrTotal = 50, // Total cumulative reservoir voidage volume production
103 VoidInjTotal = 51, // Total cumulative reservoir voidage volume injection
104
105 TracerOffset = 58, // Tracer data starts after this index
106 };
107 } // XConn
108} // Opm::RestartIO::Helpers::VectorItems
109
110#endif // OPM_OUTPUT_ECLIPSE_VECTOR_CONNECTION_HPP