SpECTRE
v2024.09.29
|
Limit the step size in a GTS evolution to prevent deadlocks from control system measurements. More...
#include <LimitTimeStep.hpp>
Public Types | |
using | const_global_cache_tags = tmpl::list<::Tags::MinimumTimeStep > |
Static Public Member Functions | |
template<typename DbTagsList , typename... InboxTags, typename Metavariables , size_t Dim, typename ActionList , typename ParallelComponent > | |
static Parallel::iterable_action_return_t | apply (db::DataBox< DbTagsList > &box, const tuples::TaggedTuple< InboxTags... > &, Parallel::GlobalCache< Metavariables > &cache, const ElementId< Dim > &array_index, ActionList, const ParallelComponent *const) |
Limit the step size in a GTS evolution to prevent deadlocks from control system measurements.
Most time steppers require evaluations of the coordinates at several times during the step before they can produce dense output. If any of those evaluations require a function-of-time update depending on a measurement within the step, the evolution will deadlock. This action reduces the step size if necessary to prevent that from happening.
Specifically: