My Project
Loading...
Searching...
No Matches
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
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 RST_GROUP
21#define RST_GROUP
22
23#include <array>
24#include <string>
25#include <vector>
26
27namespace Opm {
28 class UnitSystem;
29} // namespace Opm
30
31namespace Opm::RestartIO {
32 struct RstHeader;
33} // namespace Opm::RestartIO
34
35namespace Opm::RestartIO {
36
38{
39 RstGroup(const UnitSystem& unit_system,
40 const RstHeader& header,
41 const std::string* zwel,
42 const int* igrp,
43 const float* sgrp,
44 const double* xgrp);
45
46 std::string name;
47
48 int parent_group;
49 int prod_cmode;
50 int winj_cmode;
51 int ginj_cmode;
52 int prod_guide_rate_def;
53 int exceed_action;
54 int inj_water_guide_rate_def;
55 int inj_gas_guide_rate_def;
56 int voidage_group_index;
57 int add_gas_lift_gas;
58
59 float oil_rate_limit;
60 float water_rate_limit;
61 float gas_rate_limit;
62 float liquid_rate_limit;
63 float water_surface_limit;
64 float water_reservoir_limit;
65 float water_reinject_limit;
66 float water_voidage_limit;
67 float gas_surface_limit;
68 float gas_reservoir_limit;
69 float gas_reinject_limit;
70 float gas_voidage_limit;
71 double glift_max_supply;
72 double glift_max_rate;
73 float efficiency_factor;
74 float inj_water_guide_rate;
75 float inj_gas_guide_rate;
76 float gas_consumption_rate;
77 float gas_import_rate;
78
79 double oil_production_rate;
80 double water_production_rate;
81 double gas_production_rate;
82 double liquid_production_rate;
83 double water_injection_rate;
84 double gas_injection_rate;
85 double wct;
86 double gor;
87 double oil_production_total;
88 double water_production_total;
89 double gas_production_total;
90 double voidage_production_total;
91 double water_injection_total;
92 double gas_injection_total;
93 double voidage_injection_total;
94 double oil_production_potential;
95 double water_production_potential;
96 double history_total_oil_production;
97 double history_total_water_production;
98 double history_total_water_injection;
99 double history_total_gas_production;
100 double history_total_gas_injection;
101 double gas_consumption_total;
102 double gas_import_total;
103
104 static constexpr auto UNDEFINED_VALUE = 1.0e20f;
105};
106
107} // namespace Opm::RestartIO
108
109#endif // RST_GROUP
Definition UnitSystem.hpp:34
This class implements a small container which holds the transmissibility mulitpliers for all the face...
Definition Exceptions.hpp:30
Definition group.hpp:38
Definition header.hpp:39