SpECTRE
v2024.09.29
|
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