My Project
connection.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_CONNECTION
20 #define RST_CONNECTION
21 
22 #include <array>
23 
24 #include <opm/parser/eclipse/EclipseState/Schedule/Well/Connection.hpp>
25 
26 namespace Opm {
27 class UnitSystem;
28 
29 namespace RestartIO {
30 
31 class Header;
32 
33 struct RstConnection {
34  RstConnection(const ::Opm::UnitSystem& unit_system, std::size_t rst_index, int nsconz, const int* icon, const float* scon, const double *xcon);
35  static double inverse_peaceman(double cf, double kh, double rw, double skin);
36 
37  std::size_t rst_index;
38  std::array<int,3> ijk;
39  Connection::State state;
40  int drain_sat_table;
41  int imb_sat_table;
42  int completion;
43  Connection::Direction dir;
44  int segment;
45  Connection::CTFKind cf_kind;
46 
47  float skin_factor;
48  float cf;
49  float depth;
50  float diameter;
51  float kh;
52  float segdist_end;
53  float segdist_start;
54 
55  double oil_rate;
56  double water_rate;
57  double gas_rate;
58  double pressure;
59  double resv_rate;
60  double r0;
61 };
62 
63 
64 }
65 }
66 
67 
68 
69 
70 #endif
This class implements a small container which holds the transmissibility mulitpliers for all the face...
Definition: Exceptions.hpp:29
Definition: connection.hpp:33