|
SpECTRE
v2025.08.19
|
Simple action that updates the appropriate UpdateAggregator for the templated ControlSystem.
More...
#include <UpdateFunctionOfTime.hpp>
Static Public Member Functions | |
| template<typename ParallelComponent , typename DbTags , typename Metavariables , typename ArrayIndex > | |
| static void | apply (db::DataBox< DbTags > &box, Parallel::GlobalCache< Metavariables > &cache, const ArrayIndex &, const DataVector &new_measurement_timescale, const double old_measurement_expiration_time, const double new_measurement_expiration_time, DataVector control_signal, const double old_fot_expiration_time, const double new_fot_expiration_time) |
Simple action that updates the appropriate UpdateAggregator for the templated ControlSystem.
The new_measurement_timescale, new_measurement_expiration_time, control_signal, and new_fot_expiration_time are passed along to the UpdateAggregator::insert function. The old_measurement_expiration_time and old_fot_expiration_time are only used when the UpdateAggregator::is_ready in order to update the functions of time and the measurement timescale.
When the UpdateAggregator::is_ready, the measurement timescale is mutated with UpdateSingleFunctionOfTime and the functions of time are mutated with UpdateMultipleFunctionsOfTime, both using Parallel::mutate.
The "appropriate" UpdateAggregator is chosen from the control_system::Tags::SystemToCombinedNames for the templated ControlSystem.