opm-common
Loading...
Searching...
No Matches
WriteRestartHelpers.hpp
1/*
2 Copyright (c) 2018 Statoil 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 OPM_WRITE_RESTART_HELPERS_HPP
21#define OPM_WRITE_RESTART_HELPERS_HPP
22
23#include <cstddef>
24#include <vector>
25
26// Forward declarations
27
28namespace Opm {
29
30 class Runspec;
31 class EclipseGrid;
32 class EclipseState;
33 class Schedule;
34 class ScheduleState;
35 class Well;
36 class UnitSystem;
37 class UDQActive;
38 class Actdims;
39
40} // Opm
41
42namespace Opm::RestartIO::Helpers {
43
44 std::vector<double>
45 createDoubHead(const EclipseState& es,
46 const Schedule& sched,
47 const std::size_t sim_step,
48 const std::size_t report_step,
49 const double simTime,
50 const double nextTimeStep);
51
52 std::vector<int>
53 createInteHead(const EclipseState& es,
54 const EclipseGrid& grid,
55 const Schedule& sched,
56 const double simTime,
57 const int num_solver_steps,
58 const int report_step,
59 const int lookup_step);
60
61 std::vector<int>
62 createLgrHeadi(const EclipseState& es,
63 const int lgr_index);
64
65 std::vector<bool>
66 createLgrHeadq(const EclipseState& es);
67
68 std::vector<double>
69 createLgrHeadd();
70
76 std::vector<bool>
77 createLogiHead(const EclipseState& es);
78
86 std::vector<bool>
87 createLogiHead(const EclipseState& es, const ScheduleState& sched);
88
89 std::size_t
90 entriesPerSACT();
91
92 std::size_t
93 entriesPerIACT();
94
95 std::size_t
96 entriesPerZACT();
97
98 std::size_t
99 entriesPerZACN(const Opm::Actdims& actdims);
100
101 std::size_t
102 entriesPerIACN(const Opm::Actdims& actdims);
103
104 std::size_t
105 entriesPerSACN(const Opm::Actdims& actdims);
106
107 std::vector<int>
108 createActionRSTDims(const Schedule& sched,
109 const std::size_t simStep);
110
111} // Opm::RestartIO::Helpers
112
113#endif // OPM_WRITE_RESTART_HELPERS_HPP
Definition Actdims.hpp:30
About cell information and dimension: The actual grid information is held in a pointer to an ERT ecl_...
Definition EclipseGrid.hpp:62
Definition EclipseState.hpp:66
Definition Runspec.hpp:608
Definition ScheduleState.hpp:106
Definition Schedule.hpp:101
Internalised representation of all UDAs in a simulation run.
Definition UDQActive.hpp:50
Definition UnitSystem.hpp:34
Definition Well.hpp:78
This class implements a small container which holds the transmissibility mulitpliers for all the face...
Definition Exceptions.hpp:30