23 #include <opm/input/eclipse/Schedule/Action/ActionAST.hpp> 24 #include <opm/input/eclipse/Schedule/Action/ActionResult.hpp> 25 #include <opm/input/eclipse/Schedule/Action/Condition.hpp> 27 #include <opm/input/eclipse/Deck/DeckKeyword.hpp> 32 #include <unordered_set> 167 const std::vector<std::string>& tokens);
187 bool ready(
const State& state, std::time_t sim_time)
const;
212 std::vector<std::string>
226 std::string
name()
const {
return this->m_name; }
229 std::size_t
max_run()
const {
return this->m_max_run; }
233 double min_wait()
const {
return this->m_min_wait; }
236 std::size_t
id()
const {
return this->m_id; }
249 std::time_t
start_time()
const {
return this->m_start_time; }
252 auto begin()
const {
return this->keywords.begin(); }
255 auto end()
const {
return this->keywords.end(); }
261 return this->m_conditions;
282 template<
class Serializer>
286 serializer(m_max_run);
287 serializer(m_min_wait);
288 serializer(m_start_time);
290 serializer(keywords);
291 serializer(condition);
292 serializer(m_conditions);
297 std::string m_name{};
300 std::size_t m_max_run = 0;
304 double m_min_wait = 0.0;
310 std::time_t m_start_time;
323 std::size_t m_id = 0;
326 std::vector<DeckKeyword> keywords{};
331 std::vector<Condition> m_conditions{};
350 std::pair<ActionX, std::vector<std::pair<std::string, std::string>>>
351 parseActionX(
const DeckKeyword& kw,
const Actdims& actimds, std::time_t start_time);
355 #endif // ActionX_HPP_ Definition: Python.hpp:35
Container of matching entities.
Definition: ActionResult.hpp:172
std::string name() const
Retrieve name of action object.
Definition: ActionX.hpp:226
const std::vector< Condition > & conditions() const
Intermediate representation of triggering conditions for restart file output purposes.
Definition: ActionX.hpp:259
auto begin() const
Start of action block SCHEDULE keyword sequence.
Definition: ActionX.hpp:252
bool ready(const State &state, std::time_t sim_time) const
Query whether or not the current ActionX object is ready to run.
Definition: ActionX.cpp:212
double min_wait() const
Retrieve minimum wait time, in seconds of simulated time, between action triggers.
Definition: ActionX.hpp:233
ActionX()
Default constructor.
Definition: ActionX.cpp:132
Manager of summary vector values.
Definition: ActionContext.hpp:41
static ActionX serializationTestObject()
Create a serialisation test object.
Definition: ActionX.cpp:184
Management information about the current run's ACTION system, especially concerning the number of tim...
Definition: State.hpp:50
This class implements a small container which holds the transmissibility mulitpliers for all the face...
Definition: Exceptions.hpp:30
std::size_t max_run() const
Retrieve maximum number of times this action can run/trigger.
Definition: ActionX.hpp:229
static bool valid_keyword(const std::string &keyword)
Keyword validity predicate.
Definition: ActionX.cpp:96
std::time_t start_time() const
Retrieve point in time at which this action object is created.
Definition: ActionX.hpp:249
Definition: action.hpp:35
std::vector< std::string > wellpi_wells(const WellMatcher &well_matcher, const Result::MatchingEntities &matches) const
Retrive list of well names used in action block WELPI keywords.
Definition: ActionX.cpp:236
void update_id(std::size_t id)
Assign distinguishing numeric ID of this action object.
Definition: ActionX.cpp:279
auto end() const
End of action block SCHEDULE keyword sequence.
Definition: ActionX.hpp:255
Result eval(const Context &context) const
Evaluate the action's conditions at current dynamic state.
Definition: ActionX.cpp:230
Definition: ActionX.hpp:71
std::vector< std::string > keyword_strings() const
Textual representation of action block SCHEDULE keywords.
Definition: ActionX.cpp:284
Definition: Aquancon.hpp:40
std::size_t id() const
Retrieve distinguishing numeric ID of this action object.
Definition: ActionX.hpp:236
void serializeOp(Serializer &serializer)
Convert between byte array and object representation.
Definition: ActionX.hpp:283
bool operator==(const ActionX &data) const
Equality predicate.
Definition: ActionX.cpp:315
Definition: DeckRecord.hpp:32
Class for (de-)serializing.
Definition: Serializer.hpp:94
void addKeyword(const DeckKeyword &kw)
Include SCHEDULE section keyword in block executed when action triggers.
Definition: ActionX.cpp:207
Class Action::Result holds the boolean result of a ACTIONX condition like.
Definition: ActionResult.hpp:68
Definition: DeckKeyword.hpp:36
void required_summary(std::unordered_set< std::string > &required_summary) const
Export all summary vectors needed to evaluate the conditions of the current ActionX object...
Definition: ActionX.cpp:274