...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
Home  Libraries  People  FAQ  More 
This concept specifies the interface a dense output stepper has to fulfill to be used within integrate functions.
A dense output stepper following this Dense Output Stepper concept provides
the possibility to perform a single step of the solution x(t)
of an ODE to obtain x(t+dt). The stepsize dt
might be adjusted automatically due
to error control. Dense output steppers also can interpolate the solution
to calculate the state x(t') at any point t
<= t' <= t+dt.
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 dense_output_stepper_tag
.
Stepper
A type that is a model of Dense Output Stepper
State
A type representing the state x of the ODE
stepper
An object of type Stepper
x0
, x
Object of type State
t0
, dt0
, t
Objects of type Stepper::time_type
sys
An object defining the ODE, should be a model of System, Symplectic System, Simple Symplectic System or Implicit System.
Name 
Expression 
Type 
Semantics 

Initialize integration 

void 
Initializes the stepper with initial values 
Do step 


Performs one step using the ODE defined by 
Do interpolation 


Performs the interpolation to calculate /x(t_{inter}/) where /t <= t_{inter} <= t+dt/. 
Get current time 


Returns the current time t+dt of the stepper,
that is the end time of the last step and the starting time for
the next call of 
Get current state 


Returns the current state of the stepper, that is x(t+dt),
the state at the time returned by 
dense_output_controlled_explicit_fsal< controlled_error_stepper_fsal< runge_kutta_dopri5
>
bulirsch_stoer_dense_out
rosenbrock4_dense_output