My Project
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 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_SEGMENT
20#define RST_SEGMENT
21
22#include <vector>
23#include <algorithm>
24
25#include <opm/input/eclipse/Schedule/MSW/Segment.hpp>
26#include <opm/input/eclipse/Schedule/MSW/icd.hpp>
27
28namespace Opm {
29class UnitSystem;
30
31namespace RestartIO {
32
33struct RstSegment {
34 RstSegment(const ::Opm::UnitSystem& unit_system, int segment_number, const int* iseg, const double * rseg);
35
36 int segment;
37 int outlet_segment;
38 int branch;
39 Segment::SegmentType segment_type;
40 int icd_scaling_mode;
41 ICDStatus icd_status;
42
43 double dist_outlet;
44 double outlet_dz;
45 double diameter;
46 double roughness;
47 double area;
48 double volume;
49 double dist_bhp_ref;
50 double node_depth;
51 double total_flow;
52 double water_flow_fraction;
53 double gas_flow_fraction;
54 double pressure;
55 double valve_length;
56 double valve_area;
57 double valve_flow_coeff;
58 double valve_max_area;
59 double base_strength;
60 double fluid_density;
61 double fluid_viscosity;
62 double critical_water_fraction;
63 double transition_region_width;
64 double max_emulsion_ratio;
65 double max_valid_flow_rate;
66 double icd_length;
67 double valve_area_fraction;
68
69 std::vector<int> inflow_segments;
70};
71
72
73}
74}
75
76
77
78
79#endif
This class implements a small container which holds the transmissibility mulitpliers for all the face...
Definition Exceptions.hpp:30
Definition segment.hpp:33