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> 35 struct ScheduleRestartInfo;
39 struct ScheduleDeckContext;
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);
auto end() const
One past the end of report step sequence.
Definition: ScheduleDeck.hpp:109
void serializeOp(Serializer &serializer)
Convert between byte array and object representation.
Definition: ScheduleDeck.hpp:146
Definition: KeywordLocation.hpp:27
ScheduleBlock & mutableKeywordBlock(const std::size_t index)
Model input associated to a single report step.
Definition: ScheduleDeck.cpp:266
bool operator==(const ScheduleDeck &other) const
Equality predicate.
Definition: ScheduleDeck.cpp:276
All SCHEDULE section keywords in a simulation run.
Definition: ScheduleDeck.hpp:55
double seconds(std::size_t timeStep) const
Simulated time, in seconds, since start of simulation.
Definition: ScheduleDeck.cpp:240
ScheduleDeck()
Default constructor.
Definition: ScheduleDeck.cpp:260
Definition: ScheduleBlock.hpp:51
auto begin() const
Start of report step sequence.
Definition: ScheduleDeck.hpp:103
This class implements a small container which holds the transmissibility mulitpliers for all the face...
Definition: Exceptions.hpp:30
auto size() const
Number of report steps in SCHEDULE section.
Definition: ScheduleDeck.hpp:112
const ScheduleBlock & operator[](const std::size_t index) const
Model input associated to a single report step.
Definition: ScheduleDeck.cpp:271
std::size_t restart_offset() const
Report step index of restarted simulation's restart step.
Definition: ScheduleDeck.cpp:66
static ScheduleDeck serializationTestObject()
Create a serialisation test object.
Definition: ScheduleDeck.cpp:284
void clearKeywords(const std::size_t idx)
Discard input keywords for a single report step.
Definition: ScheduleDeck.cpp:310
Definition: UnitSystem.hpp:34
const KeywordLocation & location() const
Location of simulation run's SCHEDULE section keyword.
Definition: ScheduleDeck.cpp:61
Definition: ScheduleRestartInfo.hpp:30
void dump_deck(std::ostream &os, const UnitSystem &usys) const
Write schedule section keywords to output stream.
Definition: ScheduleDeck.cpp:297
Class for (de-)serializing.
Definition: Serializer.hpp:94