My Project
group.hpp
1 /*
2  Copyright 2020 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 it under the terms of the GNU General Public License as published by
7  the Free Software Foundation, either version 3 of the License, or
8  (at your option) any later version.
9 
10  OPM is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  GNU General Public License for more details.
14 
15  You should have received a copy of the GNU General Public License
16  along with OPM. If not, see <http://www.gnu.org/licenses/>.
17 */
18 
19 #ifndef RST_GROUP
20 #define RST_GROUP
21 
22 #include <array>
23 #include <vector>
24 #include <string>
25 
26 namespace Opm {
27 class UnitSystem;
28 
29 namespace RestartIO {
30 
31 struct RstHeader;
32 
33 struct RstGroup {
34  RstGroup(const UnitSystem& unit_system,
35  const RstHeader& header,
36  const std::string* zwel,
37  const int * igrp,
38  const float * sgrp,
39  const double * xgrp);
40 
41  std::string name;
42 
43  int parent_group;
44  int prod_cmode;
45  int winj_cmode;
46  int ginj_cmode;
47  int guide_rate_def;
48  int exceed_action;
49 
50  float oil_rate_limit;
51  float water_rate_limit;
52  float gas_rate_limit;
53  float liquid_rate_limit;
54  float water_surface_limit;
55  float water_reservoir_limit;
56  float water_reinject_limit;
57  float water_voidage_limit;
58  float gas_surface_limit;
59  float gas_reservoir_limit;
60  float gas_reinject_limit;
61  float gas_voidage_limit;
62 
63  double oil_production_rate;
64  double water_production_rate;
65  double gas_production_rate;
66  double liquid_production_rate;
67  double water_injection_rate;
68  double gas_injection_rate;
69  double wct;
70  double gor;
71  double oil_production_total;
72  double water_production_total;
73  double gas_production_total;
74  double voidage_production_total;
75  double water_injection_total;
76  double gas_injection_total;
77  double voidage_injection_total;
78  double oil_production_potential;
79  double water_production_potential;
80  double history_total_oil_production;
81  double history_total_water_production;
82  double history_total_water_injection;
83  double history_total_gas_production;
84  double history_total_gas_injection;
85 };
86 
87 
88 }
89 }
90 
91 
92 
93 
94 #endif
Definition: UnitSystem.hpp:34
This class implements a small container which holds the transmissibility mulitpliers for all the face...
Definition: Exceptions.hpp:29
Definition: group.hpp:33
Definition: header.hpp:31