PrevUpHomeNext

Function template integrate_n_steps

boost::numeric::odeint::integrate_n_steps — Integrates the ODE with constant step size.

Synopsis

// In header: <boost/numeric/odeint/integrate/integrate_n_steps.hpp>


template<typename Stepper, typename System, typename State, typename Time, 
         typename Observer> 
  Time integrate_n_steps(Stepper stepper, System system, State & start_state, 
                         Time start_time, Time dt, size_t num_of_steps, 
                         Observer observer);

Description

This function is similar to integrate_const. The observer is called at equidistant time intervals t0 + n*dt. If the Stepper is a normal stepper without step size control, dt is also used for the numerical scheme. If a ControlledStepper is provided, the algorithm might reduce the step size to meet the error bounds, but it is ensured that the observer is always called at equidistant time points t0 + n*dt. If a DenseOutputStepper is used, the step size also may vary and the dense output is used to call the observer at equidistant time points. The final integration time is always t0 + num_of_steps*dt.

Parameters:

dt

The time step between observer calls, not necessarily the time step of the integration.

num_of_steps

Number of steps to be performed

observer

Function/Functor called at equidistant time intervals.

start_state

The initial condition x0.

start_time

The initial time t0.

stepper

The stepper to be used for numerical integration.

system

Function/Functor defining the rhs of the ODE.

Returns:

The number of steps performed.


PrevUpHomeNext