My Project
msw.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_MSW_HPP
21 #define OPM_OUTPUT_ECLIPSE_VECTOR_MSW_HPP
22 
23 #include <vector>
24 
25 namespace Opm { namespace RestartIO { namespace Helpers { namespace VectorItems {
26 
27  namespace ISeg {
28 
29  enum index : std::vector<int>::size_type {
30  SegNo = 0, // Segment number (one-based)
31  OutSeg = 1, // Outlet segment (one-based)
32  InSegCurBranch = 2, // Inflow segment current branch (one-based)
33  BranchNo = 3, // Branch number (one-based)
34 
35  SegmentType = 11,
36 
37  ICDScalingMode = 18,
38  ICDOpenShutFlag = 19,
39  };
40 
41  } // ISeg
42 
43  namespace RSeg {
44  enum index : std::vector<double>::size_type {
45  DistOutlet = 0, // Segment's distance to outlet
46  OutletDepthDiff = 1, // Segment's depth differential to outlet
47  SegDiam = 2, // Internal diameter of segment
48  SegRough = 3, // Roughness parameter of segment
49  SegArea = 4, // Cross-sectional area of segment
50  SegVolume = 5, // Physical volume of segment
51  DistBHPRef = 6, // Segment's distance to BHP reference node
52  DepthBHPRef = 7, // Segment's depth differential to BHP ref. node
53 
54  TotFlowRate = 8, // Normalised total segment flow rate
55  WatFlowFract = 9, // Normalised Water flow rate fraction
56  GasFlowFract = 10, // Normalised Gas flow rate fraction
57  Pressure = 11, // Segment pressure
58 
59  item31 = 30, // Very close to Normalised Water flow rate fraction - value used pr today
60 
61  item40 = 39, // Unknown
62 
63  ValveLength = 40, // Length of valve
64  ValveArea = 41, // Cross-sectional area of valve
65  ValveFlowCoeff = 42, // Valve's dimensionless flow coefficient
66  ValveMaxArea = 43, // Maximal cross-sectional valve area
67 
68  DeviceBaseStrength = 86,
69 
70  ScalingFactor = 87,
71 
72  CalibrFluidDensity = 88,
73  CalibrFluidViscosity = 89,
74 
75  CriticalWaterFraction = 90,
76  TransitionRegWidth = 91,
77  MaxEmulsionRatio = 92,
78 
79  FlowRateExponent = 95,
80  ViscFuncExponent = 96,
81 
82  MaxValidFlowRate = 97,
83 
84  ICDLength = 102,
85 
86  ValveAreaFraction = 103,
87 
88  flowFractionOilDensityExponent = 105,
89  flowFractionWaterDensityExponent = 106,
90  flowFractionGasDensityExponent = 107,
91  flowFractionOilViscosityExponent = 108,
92  flowFractionWaterViscosityExponent = 109,
93  flowFractionGasViscosityExponent = 110,
94  };
95  } // RSeg
96 
97 }}}} // Opm::RestartIO::Helpers::VectorItems
98 
99 #endif // OPM_OUTPUT_ECLIPSE_VECTOR_MSW_HPP
This class implements a small container which holds the transmissibility mulitpliers for all the face...
Definition: Exceptions.hpp:29