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 step-size 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(tinter/) where /t <= tinter <= 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 |
Get current time step |
|
|
Returns the current step size of the stepper, that is dt |
dense_output_controlled_explicit_fsal< controlled_error_stepper_fsal< runge_kutta_dopri5
>
bulirsch_stoer_dense_out
rosenbrock4_dense_output