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

Stepper
PrevUpHomeNext

This concepts specifies the interface a simple stepper has to fulfill to be used within the integrate functions.

Description

The basic stepper concept. A basic stepper following this Stepper concept is able to perform a single step of the solution x(t) of an ODE to obtain x(t+dt) using a given step size dt. Basic steppers can be Runge-Kutta steppers, symplectic steppers as well as implicit steppers. Depending on the actual stepper, the ODE is defined as System, Symplectic System, Simple Symplectic System or Implicit System. Note that all error steppers are also basic steppers.

Refinement of
  • DefaultConstructable
  • CopyConstructable
Associated types
  • 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 >.

  • order_type

    Stepper::order_type

    The type characterizing the order of the ODE, typically unsigned short.

  • stepper_category

    Stepper::stepper_category

    A tag type characterizing the category of the stepper. This type must be convertible to stepper_tag.

Notation

Stepper

A type that is a model of 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 Stepper

x

Object of type State

t, dt

Objects of type Time

sys

An object defining the ODE. Depending on the Stepper this might be a model of System, Symplectic System, Simple Symplectic System or Implicit System

Valid Expressions

Name

Expression

Type

Semantics

Get the order

stepper.order()

order_type

Returns the order of the stepper.

Do step

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

void

Performs one step of step size dt. The newly obtained state is written in place in x.

Models
  • runge_kutta4
  • euler
  • runge_kutta_cash_karp54
  • runge_kutta_dopri5
  • runge_kutta_fehlberg78
  • modified_midpoint
  • rosenbrock4

PrevUpHomeNext