Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext

Controlled Stepper

This concept specifies the interface a controlled stepper has to fulfill to be used within integrate functions.

Description

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.

Associated types
Notation

ControlledStepper

A type that is a model of Controlled Stepper

State

A type representing the state x of the ODE

Time

A 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

sys

An object defining the ODE, should be a model of System, Symplectic System, Simple Symplectic System or Implicit System.

Valid Expressions

Name

Expression

Type

Semantics

Do step

stepper.try_step( sys , x , t , dt )

controlled_step_result

Tries one step of step size dt. If the step was successful, success is returned, the resulting state is written to x, the new time is stored in t and dt now contains a new (possibly larger) step-size for the next step. If the error was too big, rejected is returned and the results are neglected - x and t are unchanged and dt now contains a reduced step-size to be used for the next try.

Models

PrevUpHomeNext