SpECTRE  v2024.04.12
evolution::Actions::RunEventsAndDenseTriggers< Postprocessors > Struct Template Reference

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)
 

Detailed Description

template<typename Postprocessors>
struct evolution::Actions::RunEventsAndDenseTriggers< Postprocessors >

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:

  • Adds: nothing
  • Removes: nothing
  • Modifies: as performed by the postprocessor is_ready functions

The documentation for this struct was generated from the following file: