|  | Home | Libraries | People | FAQ | More | 
This concept specifies the interface a controlled stepper has to fulfill to be used within integrate functions.
A controlled stepper following this Controlled Stepper concept provides the possibility to perform one step of the solution x(t) of an ODE with step-size dt to obtain x(t+dt) with a given step-size dt. Depending on an error estimate of the solution the step might be rejected and a smaller step-size is suggested.
state_type
Stepper::state_type
The type characterizing the state of the ODE, hence x.
deriv_type
Stepper::deriv_type
The type characterizing the derivative of the ODE, hence d x/dt.
time_type
Stepper::time_type
The type characterizing the dependent variable of the ODE, hence the time t.
value_type
Stepper::value_type
The
            numerical data type which is used within the stepper, something like
            float, double,
            complex< double >.
stepper_category
Stepper::stepper_category
A
            tag type characterizing the category of the stepper. This type must be
            convertible to controlled_stepper_tag.
ControlledStepperA type that is a model of Controlled Stepper
StateA type representing the state x of the ODE
TimeA type representing the time t of the ODE
stepper
              An object of type ControlledStepper
            
x
              Object of type State
            
t, dt
              Objects of type Time
            
sysAn object defining the ODE, should be a model of System, Symplectic System, Simple Symplectic System or Implicit System.
| Name | Expression | Type | Semantics | 
|---|---|---|---|
| Do step | 
 stepper.try_step( sys , x , t , dt ) 
 | 
                   | 
                  Tries one step of step size  | 
controlled_error_stepper< runge_kutta_cash_karp54
            >
          controlled_error_stepper_fsal< runge_kutta_dopri5
            >
          controlled_error_stepper< runge_kutta_fehlberg78
            >
          rosenbrock4_controller
          bulirsch_stoer