My Project
Loading...
Searching...
No Matches
ScheduleStatic.hpp
1/*
2 Copyright 2013 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#ifndef SCHEDULE_STATIC_HPP
20#define SCHEDULE_STATIC_HPP
21
22#include <opm/input/eclipse/EclipseState/Runspec.hpp>
23
24#include <opm/input/eclipse/Schedule/MessageLimits.hpp>
25#include <opm/input/eclipse/Schedule/OilVaporizationProperties.hpp>
26#include <opm/input/eclipse/Schedule/RSTConfig.hpp>
27#include <opm/input/eclipse/Schedule/ScheduleRestartInfo.hpp>
28
29#include <opm/input/eclipse/Units/UnitSystem.hpp>
30
31#include <memory>
32#include <optional>
33#include <string>
34
35namespace Opm {
36
37class Python;
38
40{
41 std::shared_ptr<const Python> m_python_handle;
42 std::string m_input_path;
43 ScheduleRestartInfo rst_info;
44 MessageLimits m_deck_message_limits;
45 UnitSystem m_unit_system;
46 Runspec m_runspec;
47 RSTConfig rst_config;
48 std::optional<int> output_interval;
49 double sumthin{-1.0};
50 bool rptonly{false};
51 bool gaslift_opt_active{false};
52 std::optional<OilVaporizationProperties> oilVap;
53 bool slave_mode{false};
54
55 ScheduleStatic() = default;
56
57 explicit ScheduleStatic(std::shared_ptr<const Python> python_handle) :
58 m_python_handle(python_handle)
59 {}
60
61 ScheduleStatic(std::shared_ptr<const Python> python_handle,
62 const ScheduleRestartInfo& restart_info,
63 const Deck& deck,
64 const Runspec& runspec,
65 const std::optional<int>& output_interval_,
66 const ParseContext& parseContext,
67 ErrorGuard& errors,
68 const bool slave_mode);
69
70 template<class Serializer>
71 void serializeOp(Serializer& serializer)
72 {
73 serializer(m_deck_message_limits);
74 serializer(this->rst_info);
75 serializer(m_runspec);
76 serializer(m_unit_system);
77 serializer(this->m_input_path);
78 serializer(rst_info);
79 serializer(rst_config);
80 serializer(this->output_interval);
81 serializer(this->gaslift_opt_active);
82 }
83
84 static ScheduleStatic serializationTestObject();
85
86 bool operator==(const ScheduleStatic& other) const;
87};
88
89} // end namespace Opm
90
91#endif // SCHEDULE_STATIC_HPP
Definition Deck.hpp:46
Definition ErrorGuard.hpp:30
Definition MessageLimits.hpp:28
Definition ParseContext.hpp:84
Definition RSTConfig.hpp:202
Definition Runspec.hpp:480
Class for (de-)serializing.
Definition Serializer.hpp:94
Definition UnitSystem.hpp:34
This class implements a small container which holds the transmissibility mulitpliers for all the face...
Definition Exceptions.hpp:30
Definition ScheduleRestartInfo.hpp:31
Definition ScheduleStatic.hpp:40