|
SpECTRE
2021.08.02
|
Manages control system timescales. More...
#include <TimescaleTuner.hpp>
Public Member Functions | |
| TimescaleTuner (DataVector initial_timescale, double max_timescale, double min_timescale, double decrease_timescale_threshold, double increase_timescale_threshold, double increase_factor, double decrease_factor) noexcept | |
| TimescaleTuner (TimescaleTuner &&) noexcept=default | |
| TimescaleTuner & | operator= (TimescaleTuner &&) noexcept=default |
| TimescaleTuner (const TimescaleTuner &)=delete | |
| TimescaleTuner & | operator= (const TimescaleTuner &)=delete |
| const DataVector & | current_timescale () noexcept |
| returns the current timescale for each component of a FunctionOfTime | |
| void | set_timescale_if_in_allowable_range (double suggested_timescale) noexcept |
| manually sets all timescales to a specified value, unless the value is outside of the specified minimum and maximum timescale bounds, in which case it is set to the nearest bounded value | |
| void | update_timescale (const std::array< DataVector, 2 > &q_and_dtq) noexcept |
| the update function responsible for modifying the timescale based on the control system errors | |
Manages control system timescales.
The TimescaleTuner adjusts the damping timescale, \(\tau\), of the control system.
The damping timescale is restricted to min_timescale \(\le\tau\le\)max_timescale
The damping time is adjusted according to the following criteria:
Decrease the timescale by a factor of decrease_factor if either
decrease_timescale_threshold OR the error is changing quickly: \(|\dot{Q}|\tau >\) decrease_timescale_threshold,Increase the timescale by a factor of increase_factor if
increase_timescale_threshold increase_timescale_threshold \(-|Q|\))