My Project
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 
25 namespace Opm { namespace RestartIO { namespace Helpers { namespace 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  } // IConn
44 
45  namespace SConn {
46  enum index : std::vector<float>::size_type {
47  ConnTrans = 0, // Connection transmissibility factor
48  Depth = 1, // Connection centre depth
49  Diameter = 2, // Connection diameter
50 
51  EffectiveKH = 3, // Effective Kh product of connection
52  SkinFactor = 4, // Skinfactor - item 'SKIN' from COMPDAT
53  item12 = 11, // Connection transmissibility factor
54 
55  SegDistEnd = 20, // Distance to end of connection in segment
56  SegDistStart = 21, // Distance to start of connection in segment
57 
58  item30 = 29, // Unknown
59  item31 = 30, // Unknown
60  CFInDeck = 40, // = 0 for connection factor not defined, = 1 for connection factor defined
61  };
62  } // SConn
63 
64  namespace XConn {
65  enum index : std::vector<double>::size_type {
66  OilRate = 0, // Surface flow rate (oil)
67  WaterRate = 1, // Surface flow rate (water)
68  GasRate = 2, // Surface Flow rate (gas)
69 
70  OilRate_Copy = 17, // Surface flow rate (oil)
71  WaterRate_Copy = 18, // Surface flow rate (water)
72  GasRate_Copy = 19, // Surface Flow rate (gas)
73 
74  Pressure = 34, // Connection pressure value
75 
76  ResVRate = 49, // Reservoir voidage rate
77  };
78  } // XConn
79 }}}} // Opm::RestartIO::Helpers::VectorItems
80 
81 #endif // OPM_OUTPUT_ECLIPSE_VECTOR_CONNECTION_HPP
This class implements a small container which holds the transmissibility mulitpliers for all the face...
Definition: Exceptions.hpp:29