OOF2: The Manual

Name

Two Step (TwoStep) — Compare the results of one big step to two smaller steps, and adjust the step size to keep the difference within the given tolerance.

Synopsis

TwoStep(singlestep)

Details

  • Base class: QCTimeStepper
  • Parameters:

    singlestep
    Method for individual steps. Type: An object of the TimeStepper class.

Description

TwoStep is a QCTimeStepper, used to take time steps with a measurable error estimate when solving a time-dependent Mesh. It appears as the stepper argument to AdaptiveDriver in AdvancedSolverMode. In BasicSolverMode, it's used automatically.

TwoStep works by stepping over the interval from time \(t_0\) to time \(t_1\) twice, once in a single step of size \(\Delta t=t_1-t_0\) and once in two steps of size \(\Delta
  t/2\). The difference between the results is a measure of the error incurred by the stepping method. singlestep sets the TimeStepper for the individual steps.

AdaptiveDriver uses its StepErrorScaling method to compare its tolerance to the error estimate from TwoStep, and thence to decide whether or not a time step is acceptable or needs to be repeated.