19#ifndef SCHEDULE_DECK_HPP
20#define SCHEDULE_DECK_HPP
22#include <opm/common/OpmLog/KeywordLocation.hpp>
23#include <opm/common/utility/TimeService.hpp>
25#include <opm/input/eclipse/Deck/DeckKeyword.hpp>
27#include <opm/input/eclipse/Schedule/ScheduleBlock.hpp>
103 auto begin()
const {
return this->m_blocks.begin(); }
109 auto end()
const {
return this->m_blocks.end(); }
112 auto size()
const {
return this->m_blocks.size(); }
126 double seconds(std::size_t timeStep)
const;
145 template<
class Serializer>
148 serializer(m_restart_time);
149 serializer(m_restart_offset);
150 serializer(skiprest);
151 serializer(m_blocks);
152 serializer(m_location);
176 time_point m_restart_time{};
179 std::size_t m_restart_offset{};
182 bool skiprest{
false};
185 KeywordLocation m_location{};
190 std::vector<ScheduleBlock> m_blocks{};
202 void handleDATES(
const DeckKeyword& keyword,
203 const std::time_t restart_time,
204 ScheduleDeckContext& context);
217 void add_block(ScheduleTimeType time_type,
220 ScheduleDeckContext& context);
229 void add_TSTEP(
const DeckKeyword& TSTEPKeyword,
230 ScheduleDeckContext& context);
Definition DeckOutput.hpp:29
Definition KeywordLocation.hpp:27
Definition Runspec.hpp:608
Definition ScheduleBlock.hpp:52
All SCHEDULE section keywords in a simulation run.
Definition ScheduleDeck.hpp:56
double seconds(std::size_t timeStep) const
Simulated time, in seconds, since start of simulation.
Definition ScheduleDeck.cpp:240
const ScheduleBlock & operator[](const std::size_t index) const
Model input associated to a single report step.
Definition ScheduleDeck.cpp:271
void dump_deck(std::ostream &os, const UnitSystem &usys) const
Write schedule section keywords to output stream.
Definition ScheduleDeck.cpp:297
auto size() const
Number of report steps in SCHEDULE section.
Definition ScheduleDeck.hpp:112
bool operator==(const ScheduleDeck &other) const
Equality predicate.
Definition ScheduleDeck.cpp:276
ScheduleDeck()
Default constructor.
Definition ScheduleDeck.cpp:260
ScheduleBlock & mutableKeywordBlock(const std::size_t index)
Model input associated to a single report step.
Definition ScheduleDeck.cpp:266
void clearKeywords(const std::size_t idx)
Discard input keywords for a single report step.
Definition ScheduleDeck.cpp:310
void serializeOp(Serializer &serializer)
Convert between byte array and object representation.
Definition ScheduleDeck.hpp:146
static ScheduleDeck serializationTestObject()
Create a serialisation test object.
Definition ScheduleDeck.cpp:284
std::size_t restart_offset() const
Report step index of restarted simulation's restart step.
Definition ScheduleDeck.cpp:66
auto end() const
One past the end of report step sequence.
Definition ScheduleDeck.hpp:109
const KeywordLocation & location() const
Location of simulation run's SCHEDULE section keyword.
Definition ScheduleDeck.cpp:61
auto begin() const
Start of report step sequence.
Definition ScheduleDeck.hpp:103
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 ScheduleDeck.cpp:51
Definition ScheduleRestartInfo.hpp:31