opm-common
Toggle main menu visibility
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
27
namespace
Opm
{
28
class
UnitSystem
;
29
}
// namespace Opm
30
31
namespace
Opm::RestartIO {
32
struct
RstHeader
;
33
}
// namespace Opm::RestartIO
34
35
namespace
Opm::RestartIO {
36
37
struct
RstGroup
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
60
int
group_type
{};
61
62
float
oil_rate_limit;
63
float
water_rate_limit;
64
float
gas_rate_limit;
65
float
liquid_rate_limit;
66
float
resv_rate_limit;
67
float
water_surface_limit;
68
float
water_reservoir_limit;
69
float
water_reinject_limit;
70
float
water_voidage_limit;
71
float
gas_surface_limit;
72
float
gas_reservoir_limit;
73
float
gas_reinject_limit;
74
float
gas_voidage_limit;
75
double
glift_max_supply;
76
double
glift_max_rate;
77
float
efficiency_factor;
78
float
inj_water_guide_rate;
79
float
inj_gas_guide_rate;
80
float
gas_consumption_rate;
81
float
gas_import_rate;
82
83
double
oil_production_rate;
84
double
water_production_rate;
85
double
gas_production_rate;
86
double
liquid_production_rate;
87
double
water_injection_rate;
88
double
gas_injection_rate;
89
double
wct;
90
double
gor;
91
double
oil_production_total;
92
double
water_production_total;
93
double
gas_production_total;
94
double
voidage_production_total;
95
double
water_injection_total;
96
double
gas_injection_total;
97
double
voidage_injection_total;
98
double
oil_production_potential;
99
double
water_production_potential;
100
double
history_total_oil_production;
101
double
history_total_water_production;
102
double
history_total_water_injection;
103
double
history_total_gas_production;
104
double
history_total_gas_injection;
105
double
gas_consumption_total;
106
double
gas_import_total;
107
108
static
constexpr
auto
UNDEFINED_VALUE = 1.0e20f;
109
};
110
111
}
// namespace Opm::RestartIO
112
113
#endif
// RST_GROUP
Opm::UnitSystem
Definition
UnitSystem.hpp:34
Opm
This class implements a small container which holds the transmissibility mulitpliers for all the face...
Definition
Exceptions.hpp:30
Opm::RestartIO::RstGroup::group_type
int group_type
Kind of group (i.e., well, node, or satellite).
Definition
group.hpp:60
Opm::RestartIO::RstHeader
Definition
header.hpp:39
opm
io
eclipse
rst
group.hpp
Generated by
1.17.0