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 Well;
35 class UnitSystem;
36 class UDQActive;
37 class Actdims;
38
39} // Opm
40
41namespace Opm::RestartIO::Helpers {
42
43 std::vector<double>
44 createDoubHead(const EclipseState& es,
45 const Schedule& sched,
46 const std::size_t sim_step,
47 const std::size_t report_step,
48 const double simTime,
49 const double nextTimeStep);
50
51 std::vector<int>
52 createInteHead(const EclipseState& es,
53 const EclipseGrid& grid,
54 const Schedule& sched,
55 const double simTime,
56 const int num_solver_steps,
57 const int report_step,
58 const int lookup_step);
59
60 std::vector<int>
61 createLgrHeadi(const EclipseState& es,
62 const int lgr_index);
63
64 std::vector<bool>
65 createLgrHeadq(const EclipseState& es);
66
67 std::vector<double>
68 createLgrHeadd();
69
70 std::vector<bool>
71 createLogiHead(const EclipseState& es);
72
73 std::size_t
74 entriesPerSACT();
75
76 std::size_t
77 entriesPerIACT();
78
79 std::size_t
80 entriesPerZACT();
81
82 std::size_t
83 entriesPerZACN(const Opm::Actdims& actdims);
84
85 std::size_t
86 entriesPerIACN(const Opm::Actdims& actdims);
87
88 std::size_t
89 entriesPerSACN(const Opm::Actdims& actdims);
90
91 std::vector<int>
92 createActionRSTDims(const Schedule& sched,
93 const std::size_t simStep);
94
95} // Opm::RestartIO::Helpers
96
97#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:61
Definition EclipseState.hpp:62
Definition Runspec.hpp:489
Definition Schedule.hpp:101
Internalised representation of all UDAs in a simulation run.
Definition UDQActive.hpp:50
Definition UnitSystem.hpp:34
Definition Well.hpp:77
This class implements a small container which holds the transmissibility mulitpliers for all the face...
Definition Exceptions.hpp:30