|
SpECTRE
v2025.08.19
|
Limits the time step to prevent multistep integrator instabilities. More...
#include <PreventRapidIncrease.hpp>
Public Types | |
| using | options = tmpl::list<> |
| using | argument_tags = tmpl::list<::Tags::HistoryEvolvedVariables< VariablesTag > > |
Public Member Functions | |
| TimeStepRequest | operator() (const ::TimeSteppers::History< typename VariablesTag::type > &history, const double last_step) const |
| bool | uses_local_data () const override |
| Whether the result can differ on different elements, so requiring communication to synchronize the result across the domain. This is ignored for LTS step changing. More... | |
| bool | can_be_delayed () const override |
| Whether the result can be applied with a delay. More... | |
| void | pup (PUP::er &p) override |
Public Member Functions inherited from StepChooser< StepChooserUse::Slab > | |
| WRAPPED_PUPable_abstract (StepChooser) | |
| virtual bool | uses_local_data () const=0 |
| Whether the result can differ on different elements, so requiring communication to synchronize the result across the domain. This is ignored for LTS step changing. More... | |
| virtual bool | can_be_delayed () const=0 |
| Whether the result can be applied with a delay. More... | |
| TimeStepRequest | desired_step (const double last_step, const db::DataBox< DbTags > &box) const |
The last_step parameter describes the step size to be adjusted. It may be the step size or the slab size, or may be infinite if the appropriate size cannot be determined. More... | |
Public Member Functions inherited from StepChooser< StepChooserUse::LtsStep > | |
| WRAPPED_PUPable_abstract (StepChooser) | |
| virtual bool | uses_local_data () const=0 |
| Whether the result can differ on different elements, so requiring communication to synchronize the result across the domain. This is ignored for LTS step changing. More... | |
| virtual bool | can_be_delayed () const=0 |
| Whether the result can be applied with a delay. More... | |
| TimeStepRequest | desired_step (const double last_step, const db::DataBox< DbTags > &box) const |
The last_step parameter describes the step size to be adjusted. It may be the step size or the slab size, or may be infinite if the appropriate size cannot be determined. More... | |
Static Public Attributes | |
| static constexpr Options::String | help |
Limits the time step to prevent multistep integrator instabilities.
Avoids instabilities due to rapid increases in the step size by preventing the step size from increasing if any step in the time-stepper history increased. If there have been recent step size increases, the new size bound is the size of the most recent step, otherwise no restriction is imposed.
|
inlineoverridevirtual |
Whether the result can be applied with a delay.
StepChoosers setting the .end or .end_hard_limit fields of TimeStepRequest must return false here.
Implements StepChooser< StepChooserUse::Slab >.
|
inlineoverridevirtual |
Whether the result can differ on different elements, so requiring communication to synchronize the result across the domain. This is ignored for LTS step changing.
last_step passed to the call operator is not considered local data. Implements StepChooser< StepChooserUse::Slab >.
|
staticconstexpr |