opm-common
Toggle main menu visibility
Loading...
Searching...
No Matches
segment.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_SEGMENT
21
#define RST_SEGMENT
22
23
#include <vector>
24
25
namespace
Opm
{
26
27
class
UnitSystem
;
28
29
}
// namespace Opm
30
31
namespace
Opm
{
namespace
RestartIO {
32
33
struct
RstSegment
34
{
35
RstSegment(
const
UnitSystem
& unit_system,
36
int
segment_number,
37
const
int
* iseg,
38
const
double
* rseg);
39
40
int
segment{};
41
int
outlet_segment{};
42
int
branch{};
43
int
segment_type{};
44
int
icd_scaling_mode{};
45
int
icd_status{};
46
47
double
dist_outlet{};
48
double
outlet_dz{};
49
double
diameter{};
50
double
roughness{};
51
double
area{};
52
double
volume{};
53
double
dist_bhp_ref{};
54
double
node_depth{};
55
double
total_flow{};
56
double
water_flow_fraction{};
57
double
gas_flow_fraction{};
58
double
pressure{};
59
double
valve_length{};
60
double
valve_area{};
61
double
valve_flow_coeff{};
62
double
valve_max_area{};
63
double
base_strength{};
64
double
fluid_density{};
65
double
fluid_viscosity{};
66
double
critical_water_fraction{};
67
double
transition_region_width{};
68
double
max_emulsion_ratio{};
69
double
max_valid_flow_rate{};
70
double
icd_length{};
71
double
icd_scaling_factor{};
72
double
valve_area_fraction{};
73
74
double
aicd_flowrate_exponent{};
75
double
aicd_viscosity_exponent{};
76
double
aicd_oil_dens_exponent{};
77
double
aicd_wat_dens_exponent{};
78
double
aicd_gas_dens_exponent{};
79
double
aicd_oil_visc_exponent{};
80
double
aicd_wat_visc_exponent{};
81
double
aicd_gas_visc_exponent{};
82
// not reading from file yet, default to 1.0
83
double
aicd_density_exponent{1.0};
84
85
std::vector<int> inflow_segments;
86
};
87
88
}}
// namespace Opm::RestartIO
89
90
#endif
// RST_SEGMENT
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
io
eclipse
rst
segment.hpp
Generated by
1.17.0