|
SpECTRE
v2025.08.19
|
Run the events and dense triggers. More...
#include <RunEventsAndDenseTriggers.hpp>
Static Public Member Functions | |
| template<typename DbTags , typename... InboxTags, typename Metavariables , typename ArrayIndex , typename ActionList , typename ParallelComponent > | |
| static Parallel::iterable_action_return_t | apply (db::DataBox< DbTags > &box, tuples::TaggedTuple< InboxTags... > &inboxes, Parallel::GlobalCache< Metavariables > &cache, const ArrayIndex &array_index, const ActionList, const ParallelComponent *const component) |
Run the events and dense triggers.
If dense output is required, each postprocessor in the Postprocessors list will be called as postprocessor::is_ready(make_not_null(&box), make_not_null(&inboxes), cache, array_index, component). If it returns false, the algorithm will be stopped to wait for more data. After performing dense output, each of the Postprocessors will be passed to db::mutate_apply on the DataBox. The wrapper struct AlwaysReadyPostprocessor is provided for convenience to provide an is_ready function when a pure mutate-apply is desired.
At the end of the action, the values of the time, evolved variables, and anything appearing in the return_tags of the Postprocessors will be restored to their initial values.
Uses:
DataBox changes:
is_ready functions