Avoids instabilities due to rapid increases in the step size by preventing the step size from increasing unless all steps in the time-stepper history are the same size. If there have been recent step size changes the new size bound is the size of the most recent step, otherwise it is infinite (no restriction is imposed).
More...
#include <PreventRapidIncrease.hpp>
|
template<typename History > |
std::pair< double, bool > | operator() (const History &history, const double last_step_magnitude) 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...
|
|
| 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...
|
|
template<typename StepChoosersToUse = AllStepChoosers, typename DbTags > |
std::pair< double, bool > | desired_step (const double last_step_magnitude, const db::DataBox< DbTags > &box) const |
| The last_step_magnitude 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...
|
|
template<typename StepChooserUse>
class StepChoosers::PreventRapidIncrease< StepChooserUse >
Avoids instabilities due to rapid increases in the step size by preventing the step size from increasing unless all steps in the time-stepper history are the same size. If there have been recent step size changes the new size bound is the size of the most recent step, otherwise it is infinite (no restriction is imposed).
◆ uses_local_data()
template<typename StepChooserUse >
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.
- Note
- As this is only used for slab-size changing, the
last_step_magnitude
passed to the call operator is not considered local data.
Implements StepChooser< StepChooserUse >.
◆ help
template<typename StepChooserUse >
Initial value:{
"Prevents rapid increases in time step that can cause integrator \n"
"instabilities."}
The documentation for this class was generated from the following file:
- src/Time/StepChoosers/PreventRapidIncrease.hpp