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
25namespace 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