SpECTRE  v2025.08.19
ChangeStepSize< StepChoosersToUse > Struct Template Reference

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)
 

Detailed Description

template<typename StepChoosersToUse = AllStepChoosers>
struct ChangeStepSize< StepChoosersToUse >

Adjust the step size for local time stepping.

Details

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.


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