SpECTRE  v2024.09.29
control_system::AggregateUpdate< ControlSystem > Struct Template Reference

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)
 

Detailed Description

template<typename ControlSystem>
struct control_system::AggregateUpdate< ControlSystem >

Simple action that updates the appropriate UpdateAggregator for the templated ControlSystem.

Details

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.


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