|
SpECTRE
v2025.08.19
|
Adjust the step size for local time stepping. More...
#include <ChangeStepSize.hpp>
Public Types | |
| using | const_global_cache_tags = tmpl::list< Tags::MinimumTimeStep > |
| using | return_tags = tmpl::list< Tags::DataBox > |
| using | argument_tags = tmpl::list<> |
Static Public Member Functions | |
| template<typename DbTags > | |
| static void | apply (const gsl::not_null< db::DataBox< DbTags > * > box) |
Adjust the step size for local time stepping.
Usually, the new step size is chosen by calling the StepChoosers from Tags::StepChoosers, restricted based on the allowed step sizes at the current time, and limits from history initialization.
If Tags::FixedLtsRatio is present in the DataBox and not empty, the StepChoosers are not called and instead the desired step is taken to be the slab size over that value. Early in the evolution, the actual chosen step may differ from this because of restrictions on the allowed step, but all such restrictions are global and will not result in different decisions for different elements with the same desired fixed ratio.
The optional template parameter StepChoosersToUse may be used to indicate a subset of the constructable step choosers to use for the current application of ChangeStepSize. Passing AllStepChoosers (default) indicates that any constructible step chooser may be used. This option is used when multiple components need to invoke ChangeStepSize with step choosers that may not be compatible with all components.