Template Class StepController

Inheritance Relationships

Derived Types

Class Documentation

template<typename RealT>
class StepController

Interface for step size controllers. Used by Rosenbrock integrators to decide when to accept/reject steps and what size each step should be.

Todo:

It may be best to have usesError() return a reference to the ErrorNorm that should be used.

Subclassed by AnalysisManager::NativeDynamicSolver::AdaptiveStep< RealT >, AnalysisManager::NativeDynamicSolver::FixedStep< RealT >

Public Functions

virtual StepControl<RealT> nextStep(RealT err, StepControl<RealT> prev_step, uint8_t method_order) = 0

Decide the control flow for the next step, based on information gathered by the integrator about the current step.

Parameters:
  • err – The estimated error made by the current step. Only calculated if usesError() returns true, otherwise it is assumed this value is not used.

  • prev_step – The control flow from before the current step was taken. Can be used to accurately update the step size.

  • method_order – The order of the method being used.

Returns:

StepControl

virtual bool usesError() const = 0

Return whether or not the nextStep method implementation uses the err parameter. If false, this parameter is not calculated.