|
|
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.
|
| bool | can_be_delayed () const override |
| | Whether the result can be applied with a delay.
|
|
void | pup (PUP::er &p) override |
|
| WRAPPED_PUPable_abstract (StepChooser) |
| 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.
|
|
| WRAPPED_PUPable_abstract (StepChooser) |
| 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.
|
template<typename VariablesTag>
class StepChoosers::PreventRapidIncrease< VariablesTag >
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.