header.hpp
Go to the documentation of this file.
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_HEADER
20#define RST_HEADER
21
22#include <vector>
23#include <ctime>
24#include <cstddef>
25
26namespace Opm {
27class UnitSystem;
28
29namespace RestartIO {
30
31struct RstHeader {
32 RstHeader(const UnitSystem& unit_system, const std::vector<int>& intehead, const std::vector<bool>& logihead, const std::vector<double>& doubhead);
33
34 int nx;
35 int ny;
36 int nz;
39 int ncwmax;
43 int year;
44 int month;
45 int mday;
46 int hour;
47 int minute;
50 int niwelz;
51 int nswelz;
52 int nxwelz;
53 int nzwelz;
54 int niconz;
55 int nsconz;
56 int nxconz;
57 int nigrpz;
58 int nsgrpz;
59 int nxgrpz;
60 int nzgrpz;
61 int ncamax;
62 int niaaqz;
63 int nsaaqz;
64 int nxaaqz;
65 int nicaqz;
66 int nscaqz;
67 int nacaqz;
68 int tstep;
70 int newtmx;
71 int newtmn;
72 int litmax;
73 int litmin;
74 int mxwsit;
75 int mxwpit;
77 int iprog;
78 int nsegwl;
79 int nswlmx;
80 int nsegmx;
81 int nlbrmx;
82 int nisegz;
83 int nrsegz;
84 int nilbrz;
85 int ntfip ;
86 int nmfipr;
87 int ngroup;
88 int nwgmax;
89
104
116 double udq_range;
118 double udq_eps;
119
120 std::pair<std::time_t, std::size_t> restart_info() const;
121};
122
123
124}
125}
126
127
128
129
130#endif
Definition: UnitSystem.hpp:32
doubhead
Definition: VectorItems/doubhead.hpp:29
logihead
Definition: VectorItems/logihead.hpp:29
intehead
Definition: VectorItems/intehead.hpp:29
Definition: A.hpp:4
Definition: header.hpp:31
int nsconz
Definition: header.hpp:55
bool const_comp_oil
Definition: header.hpp:96
int nz
Definition: header.hpp:36
bool group_control_active
Definition: header.hpp:103
int microsecond
Definition: header.hpp:48
int nx
Definition: header.hpp:34
bool enable_msw
Definition: header.hpp:93
int ny
Definition: header.hpp:35
int month
Definition: header.hpp:44
bool dir_eps
Definition: header.hpp:100
int ncamax
Definition: header.hpp:61
bool alt_eps
Definition: header.hpp:102
int nicaqz
Definition: header.hpp:65
int num_wells
Definition: header.hpp:38
double udq_range
Definition: header.hpp:116
double guide_rate_a
Definition: header.hpp:108
int ngroup
Definition: header.hpp:87
int nswlmx
Definition: header.hpp:79
int nzwelz
Definition: header.hpp:53
int nisegz
Definition: header.hpp:82
bool e300_radial
Definition: header.hpp:90
int ncwmax
Definition: header.hpp:39
bool is_wet_gas
Definition: header.hpp:95
int newtmn
Definition: header.hpp:71
double udq_eps
Definition: header.hpp:118
int nxaaqz
Definition: header.hpp:64
RstHeader(const UnitSystem &unit_system, const std::vector< int > &intehead, const std::vector< bool > &logihead, const std::vector< double > &doubhead)
int nwgmax
Definition: header.hpp:88
double guide_rate_delay
Definition: header.hpp:114
bool e100_radial
Definition: header.hpp:91
double next_timestep2
Definition: header.hpp:106
double max_timestep
Definition: header.hpp:107
int litmax
Definition: header.hpp:72
int nsegwl
Definition: header.hpp:78
bool reversible_relperm
Definition: header.hpp:98
bool dir_relperm
Definition: header.hpp:97
int nacaqz
Definition: header.hpp:67
int nilbrz
Definition: header.hpp:84
double guide_rate_c
Definition: header.hpp:110
int year
Definition: header.hpp:43
double udq_undefined
Definition: header.hpp:117
int nsaaqz
Definition: header.hpp:63
int phase_sum
Definition: header.hpp:49
bool endscale
Definition: header.hpp:99
int mxwsit
Definition: header.hpp:74
int nmfipr
Definition: header.hpp:86
int niaaqz
Definition: header.hpp:62
int max_groups_in_field
Definition: header.hpp:41
int nigrpz
Definition: header.hpp:57
double guide_rate_damping
Definition: header.hpp:115
int newtmx
Definition: header.hpp:70
bool enable_hysteris
Definition: header.hpp:92
bool reversible_eps
Definition: header.hpp:101
int nxconz
Definition: header.hpp:56
int nscaqz
Definition: header.hpp:66
std::pair< std::time_t, std::size_t > restart_info() const
int niconz
Definition: header.hpp:54
int litmin
Definition: header.hpp:73
int nsgrpz
Definition: header.hpp:58
double guide_rate_b
Definition: header.hpp:109
int minute
Definition: header.hpp:47
int nxgrpz
Definition: header.hpp:59
int nrsegz
Definition: header.hpp:83
int nsegmx
Definition: header.hpp:80
int nswelz
Definition: header.hpp:51
int mday
Definition: header.hpp:45
int tstep
Definition: header.hpp:68
int nxwelz
Definition: header.hpp:52
int nactive
Definition: header.hpp:37
int nzgrpz
Definition: header.hpp:60
double guide_rate_e
Definition: header.hpp:112
int max_wells_in_field
Definition: header.hpp:42
int niwelz
Definition: header.hpp:50
int report_step
Definition: header.hpp:69
int iprog
Definition: header.hpp:77
int ntfip
Definition: header.hpp:85
double guide_rate_f
Definition: header.hpp:113
int version
Definition: header.hpp:76
int mxwpit
Definition: header.hpp:75
int nlbrmx
Definition: header.hpp:81
int hour
Definition: header.hpp:46
bool is_live_oil
Definition: header.hpp:94
double guide_rate_d
Definition: header.hpp:111
int max_wells_in_group
Definition: header.hpp:40
double next_timestep1
Definition: header.hpp:105