Namespaces | |
detail | |
result_of | |
traits | |
version | |
Typedefs | |
typedef openmp_nested_algebra < range_algebra > | openmp_algebra |
OpenMP-parallelized algebra. More... | |
Enumerations | |
enum | controlled_step_result { success, fail } |
Enum representing the return values of the controlled steppers. More... | |
Functions | |
template<class System , class State , class Time , class Observer > | |
boost::enable_if< typename has_value_type< State >::type, size_t >::type | integrate (System system, State &start_state, Time start_time, Time end_time, Time dt, Observer observer) |
Integrates the ODE. More... | |
template<class System , class State , class Time > | |
size_t | integrate (System system, State &start_state, Time start_time, Time end_time, Time dt) |
Integrates the ODE without observer calls. More... | |
template<class Stepper , class System , class State , class Time , class Observer > | |
size_t | integrate_adaptive (Stepper stepper, System system, State &start_state, Time start_time, Time end_time, Time dt, Observer observer) |
Integrates the ODE with adaptive step size. More... | |
template<class Stepper , class System , class State , class Time , class Observer > | |
size_t | integrate_adaptive (Stepper stepper, System system, const State &start_state, Time start_time, Time end_time, Time dt, Observer observer) |
Second version to solve the forwarding problem, can be called with Boost.Range as start_state. More... | |
template<class Stepper , class System , class State , class Time > | |
size_t | integrate_adaptive (Stepper stepper, System system, State &start_state, Time start_time, Time end_time, Time dt) |
integrate_adaptive without an observer. More... | |
template<class Stepper , class System , class State , class Time > | |
size_t | integrate_adaptive (Stepper stepper, System system, const State &start_state, Time start_time, Time end_time, Time dt) |
Second version to solve the forwarding problem, can be called with Boost.Range as start_state. More... | |
template<class Stepper , class System , class State , class Time , class Observer > | |
size_t | integrate_const (Stepper stepper, System system, State &start_state, Time start_time, Time end_time, Time dt, Observer observer) |
Integrates the ODE with constant step size. More... | |
template<class Stepper , class System , class State , class Time , class Observer > | |
size_t | integrate_const (Stepper stepper, System system, const State &start_state, Time start_time, Time end_time, Time dt, Observer observer) |
Second version to solve the forwarding problem, can be called with Boost.Range as start_state. More... | |
template<class Stepper , class System , class State , class Time > | |
size_t | integrate_const (Stepper stepper, System system, State &start_state, Time start_time, Time end_time, Time dt) |
integrate_const without observer calls More... | |
template<class Stepper , class System , class State , class Time > | |
size_t | integrate_const (Stepper stepper, System system, const State &start_state, Time start_time, Time end_time, Time dt) |
Second version to solve the forwarding problem, can be called with Boost.Range as start_state. More... | |
template<class Stepper , class System , class State , class Time , class Observer > | |
Time | integrate_n_steps (Stepper stepper, System system, State &start_state, Time start_time, Time dt, size_t num_of_steps, Observer observer) |
Integrates the ODE with constant step size. More... | |
template<class Stepper , class System , class State , class Time , class Observer > | |
Time | integrate_n_steps (Stepper stepper, System system, const State &start_state, Time start_time, Time dt, size_t num_of_steps, Observer observer) |
Solves the forwarding problem, can be called with Boost.Range as start_state. More... | |
template<class Stepper , class System , class State , class Time > | |
Time | integrate_n_steps (Stepper stepper, System system, State &start_state, Time start_time, Time dt, size_t num_of_steps) |
The same function as above, but without observer calls. More... | |
template<class Stepper , class System , class State , class Time > | |
Time | integrate_n_steps (Stepper stepper, System system, const State &start_state, Time start_time, Time dt, size_t num_of_steps) |
Solves the forwarding problem, can be called with Boost.Range as start_state. More... | |
template<class Stepper , class System , class State , class TimeIterator , class Time , class Observer > | |
size_t | integrate_times (Stepper stepper, System system, State &start_state, TimeIterator times_start, TimeIterator times_end, Time dt, Observer observer) |
Integrates the ODE with observer calls at given time points. More... | |
template<class Stepper , class System , class State , class TimeIterator , class Time , class Observer > | |
size_t | integrate_times (Stepper stepper, System system, const State &start_state, TimeIterator times_start, TimeIterator times_end, Time dt, Observer observer) |
Solves the forwarding problem, can be called with Boost.Range as start_state. More... | |
template<class Stepper , class System , class State , class TimeRange , class Time , class Observer > | |
size_t | integrate_times (Stepper stepper, System system, State &start_state, const TimeRange ×, Time dt, Observer observer) |
The same function as above, but without observer calls. More... | |
template<class Stepper , class System , class State , class TimeRange , class Time , class Observer > | |
size_t | integrate_times (Stepper stepper, System system, const State &start_state, const TimeRange ×, Time dt, Observer observer) |
Solves the forwarding problem, can be called with Boost.Range as start_state. More... | |
template<class Stepper , class System , class State > | |
adaptive_iterator< Stepper, System, State > | make_adaptive_iterator_begin (Stepper stepper, System system, State &x, typename traits::time_type< Stepper >::type t_start, typename traits::time_type< Stepper >::type t_end, typename traits::time_type< Stepper >::type dt) |
Factory function for adaptive_iterator. More... | |
template<class Stepper , class System , class State > | |
adaptive_iterator< Stepper, System, State > | make_adaptive_iterator_end (Stepper stepper, System system, State &x) |
Factory function for adaptive_iterator. More... | |
template<class Stepper , class System , class State > | |
std::pair< adaptive_iterator < Stepper, System, State > , adaptive_iterator< Stepper, System, State > > | make_adaptive_range (Stepper stepper, System system, State &x, typename traits::time_type< Stepper >::type t_start, typename traits::time_type< Stepper >::type t_end, typename traits::time_type< Stepper >::type dt) |
Factory function to construct a single pass range of adaptive iterators. More... | |
template<class Stepper , class System , class State > | |
adaptive_time_iterator < Stepper, System, State > | make_adaptive_time_iterator_begin (Stepper stepper, System system, State &x, typename traits::time_type< Stepper >::type t_start, typename traits::time_type< Stepper >::type t_end, typename traits::time_type< Stepper >::type dt) |
Factory function for adaptive_time_iterator. More... | |
template<class Stepper , class System , class State > | |
adaptive_time_iterator < Stepper, System, State > | make_adaptive_time_iterator_end (Stepper stepper, System system, State &x) |
Factory function for adaptive_time_iterator. More... | |
template<class Stepper , class System , class State > | |
std::pair < adaptive_time_iterator < Stepper, System, State > , adaptive_time_iterator < Stepper, System, State > > | make_adaptive_time_range (Stepper stepper, System system, State &x, typename traits::time_type< Stepper >::type t_start, typename traits::time_type< Stepper >::type t_end, typename traits::time_type< Stepper >::type dt) |
Factory function to construct a single pass range of adaptive time iterators. More... | |
template<class Stepper , class System , class State > | |
const_step_iterator< Stepper, System, State > | make_const_step_iterator_begin (Stepper stepper, System system, State &x, typename traits::time_type< Stepper >::type t_start, typename traits::time_type< Stepper >::type t_end, typename traits::time_type< Stepper >::type dt) |
Factory function for const_step_iterator. More... | |
template<class Stepper , class System , class State > | |
const_step_iterator< Stepper, System, State > | make_const_step_iterator_end (Stepper stepper, System system, State &x) |
Factory function for const_step_iterator. More... | |
template<class Stepper , class System , class State > | |
std::pair< const_step_iterator < Stepper, System, State > , const_step_iterator< Stepper, System, State > > | make_const_step_range (Stepper stepper, System system, State &x, typename traits::time_type< Stepper >::type t_start, typename traits::time_type< Stepper >::type t_end, typename traits::time_type< Stepper >::type dt) |
Factory function to construct a single pass range of const step iterators. More... | |
template<class Stepper , class System , class State > | |
const_step_time_iterator < Stepper, System, State > | make_const_step_time_iterator_begin (Stepper stepper, System system, State &x, typename traits::time_type< Stepper >::type t_start, typename traits::time_type< Stepper >::type t_end, typename traits::time_type< Stepper >::type dt) |
Factory function for const_step_time_iterator. More... | |
template<class Stepper , class System , class State > | |
const_step_time_iterator < Stepper, System, State > | make_const_step_time_iterator_end (Stepper stepper, System system, State &x) |
Factory function for const_step_time_iterator. More... | |
template<class Stepper , class System , class State > | |
std::pair < const_step_time_iterator < Stepper, System, State > , const_step_time_iterator < Stepper, System, State > > | make_const_step_time_range (Stepper stepper, System system, State &x, typename traits::time_type< Stepper >::type t_start, typename traits::time_type< Stepper >::type t_end, typename traits::time_type< Stepper >::type dt) |
Factory function to construct a single pass range of const_step_time_iterator. More... | |
template<class Stepper , class System , class State > | |
n_step_iterator< Stepper, System, State > | make_n_step_iterator_begin (Stepper stepper, System system, State &x, typename traits::time_type< Stepper >::type t, typename traits::time_type< Stepper >::type dt, size_t num_of_steps) |
Factory function for n_step_iterator. More... | |
template<class Stepper , class System , class State > | |
n_step_iterator< Stepper, System, State > | make_n_step_iterator_end (Stepper stepper, System system, State &x) |
Factory function for n_step_iterator. More... | |
template<class Stepper , class System , class State > | |
std::pair< n_step_iterator < Stepper, System, State > , n_step_iterator< Stepper, System, State > > | make_n_step_range (Stepper stepper, System system, State &x, typename traits::time_type< Stepper >::type t, typename traits::time_type< Stepper >::type dt, size_t num_of_steps) |
Factory function to construct a single pass range of n-step iterators. More... | |
template<class Stepper , class System , class State > | |
n_step_time_iterator< Stepper, System, State > | make_n_step_time_iterator_begin (Stepper stepper, System system, State &x, typename traits::time_type< Stepper >::type t, typename traits::time_type< Stepper >::type dt, size_t num_of_steps) |
Factory function for n_step_time_iterator. More... | |
template<class Stepper , class System , class State > | |
n_step_time_iterator< Stepper, System, State > | make_n_step_time_iterator_end (Stepper stepper, System system, State &x) |
Factory function for n_step_time_iterator. More... | |
template<class Stepper , class System , class State > | |
std::pair < n_step_time_iterator < Stepper, System, State > , n_step_time_iterator < Stepper, System, State > > | make_n_step_time_range (Stepper stepper, System system, State &x, typename traits::time_type< Stepper >::type t, typename traits::time_type< Stepper >::type dt, size_t num_of_steps) |
Factory function to construct a single pass range of n-step iterators. More... | |
template<class Stepper , class System , class State , class TimeIterator > | |
times_iterator< Stepper, System, State, TimeIterator > | make_times_iterator_begin (Stepper stepper, System system, State &x, TimeIterator t_start, TimeIterator t_end, typename traits::time_type< Stepper >::type dt) |
Factory function for times_iterator. More... | |
template<class TimeIterator , class Stepper , class System , class State > | |
times_iterator< Stepper, System, State, TimeIterator > | make_times_iterator_end (Stepper stepper, System system, State &x) |
Factory function for times_iterator. More... | |
template<class Stepper , class System , class State , class TimeIterator > | |
std::pair< times_iterator < Stepper, System, State, TimeIterator >, times_iterator < Stepper, System, State, TimeIterator > > | make_times_range (Stepper stepper, System system, State &x, TimeIterator t_start, TimeIterator t_end, typename traits::time_type< Stepper >::type dt) |
Factory function to construct a single pass range of times iterators. More... | |
template<class Stepper , class System , class State , class TimeIterator > | |
times_time_iterator< Stepper, System, State, TimeIterator > | make_times_time_iterator_begin (Stepper stepper, System system, State &x, TimeIterator t_start, TimeIterator t_end, typename traits::time_type< Stepper >::type dt) |
Factory function for times_time_iterator. More... | |
template<class TimeIterator , class Stepper , class System , class State > | |
times_time_iterator< Stepper, System, State, TimeIterator > | make_times_time_iterator_end (Stepper stepper, System system, State &x) |
Factory function for times_time_iterator. More... | |
template<class Stepper , class System , class State , class TimeIterator > | |
std::pair< times_time_iterator < Stepper, System, State, TimeIterator > , times_time_iterator< Stepper, System, State, TimeIterator > > | make_times_time_range (Stepper stepper, System system, State &x, TimeIterator t_start, TimeIterator t_end, typename traits::time_type< Stepper >::type dt) |
Factory function to construct a single pass range of times_time iterators. More... | |
template<class Stepper > | |
result_of::make_controlled < Stepper >::type | make_controlled (typename Stepper::value_type abs_error, typename Stepper::value_type rel_error, const Stepper &stepper=Stepper()) |
template<class Stepper > | |
result_of::make_dense_output < Stepper >::type | make_dense_output (typename Stepper::value_type abs_error, typename Stepper::value_type rel_error, const Stepper &stepper=Stepper()) |
template<class Container1 , class Container2 > | |
void | copy (const Container1 &from, Container2 &to) |
template<class StateOut , class StateIn > | |
void | resize (StateOut &x1, const StateIn &x2) |
template<class ResizeWrappedState , class State > | |
bool | adjust_size_by_resizeability (ResizeWrappedState &x, const State &y, boost::true_type) |
template<class ResizeWrappedState , class State > | |
bool | adjust_size_by_resizeability (ResizeWrappedState &, const State &, boost::false_type) |
template<class T1 , class T2 > | |
bool | same_instance (const T1 &x1, const T2 &x2) |
template<class State1 , class State2 > | |
bool | same_size (const State1 &x1, const State2 &x2) |
template<class Container1 , class Container2 > | |
void | split (const Container1 &from, Container2 &to) |
template<class Container1 , class Container2 > | |
void | unsplit (const Container1 &from, Container2 &to) |
template<class T > | |
detail::get_unit_value_impl< T > ::result_type | get_unit_value (const T &t) |
template<class T , class V > | |
void | set_unit_value (T &t, const V &v) |
std::string | get_version_string (void) |
OpenMP-parallelized algebra.
For use with openmp_state.
bool boost::numeric::odeint::adjust_size_by_resizeability | ( | ResizeWrappedState & | x, |
const State & | y, | ||
boost::true_type | |||
) |
References resize(), and same_size().
Referenced by boost::numeric::odeint::modified_midpoint_dense_out< state_type, value_type, deriv_type, time_type, algebra_type, operations_type, resizer_type >::resize(), boost::numeric::odeint::dense_output_runge_kutta< Stepper, explicit_controlled_stepper_fsal_tag >::resize(), boost::numeric::odeint::rosenbrock4< Value, Coefficients, Resizer >::resize_impl(), and boost::numeric::odeint::rosenbrock4< Value, Coefficients, Resizer >::resize_x_err().
bool boost::numeric::odeint::adjust_size_by_resizeability | ( | ResizeWrappedState & | , |
const State & | , | ||
boost::false_type | |||
) |
void boost::numeric::odeint::copy | ( | const Container1 & | from, |
Container2 & | to | ||
) |
References boost::numeric::odeint::copy_impl< Container1, Container2 >::copy().
Referenced by boost::numeric::odeint::dense_output_runge_kutta< Stepper, stepper_tag >::calc_state(), boost::numeric::odeint::copy_impl< mpi_state< InnerState1 >, mpi_state< InnerState2 > >::copy(), boost::numeric::odeint::modified_midpoint_dense_out< state_type, value_type, deriv_type, time_type, algebra_type, operations_type, resizer_type >::do_step(), boost::numeric::odeint::modified_midpoint< state_type, value_type, deriv_type, time_type, algebra_type, operations_type, resizer_type >::do_step_impl(), boost::numeric::odeint::runge_kutta_dopri5< State, Value, Deriv, Time, Algebra, Operations, Resizer >::do_step_impl(), boost::numeric::odeint::dense_output_runge_kutta< Stepper, stepper_tag >::initialize(), boost::numeric::odeint::velocity_verlet< Coor, Velocity, Value, Acceleration, Time, TimeSq, Algebra, Operations, Resizer >::initialize(), boost::numeric::odeint::explicit_error_stepper_fsal_base< runge_kutta_dopri5< State, Value, Deriv, Time, Algebra, Operations, Resizer >, 5, 5, 4, State, Value, Deriv, Time, Algebra, Operations, Resizer >::initialize(), boost::numeric::odeint::bulirsch_stoer_dense_out< State, Value, Deriv, Time, Algebra, Operations, Resizer >::initialize(), boost::numeric::odeint::dense_output_runge_kutta< Stepper, explicit_controlled_stepper_fsal_tag >::initialize(), boost::numeric::odeint::controlled_runge_kutta< ErrorStepper, ErrorChecker, Resizer, explicit_error_stepper_fsal_tag >::initialize(), boost::numeric::odeint::split_impl< Source, mpi_state< InnerState >, typename boost::enable_if< boost::has_range_const_iterator< Source > >::type >::split(), boost::numeric::odeint::rosenbrock4_controller< Stepper >::try_step(), boost::numeric::odeint::bulirsch_stoer< State, Value, Deriv, Time, Algebra, Operations, Resizer >::try_step(), boost::numeric::odeint::controlled_runge_kutta< ErrorStepper, ErrorChecker, Resizer, explicit_error_stepper_tag >::try_step(), and boost::numeric::odeint::controlled_runge_kutta< ErrorStepper, ErrorChecker, Resizer, explicit_error_stepper_fsal_tag >::try_step().
detail::get_unit_value_impl<T>::result_type boost::numeric::odeint::get_unit_value | ( | const T & | t | ) |
References boost::numeric::odeint::detail::get_unit_value_impl< T, Enabler >::value().
Referenced by boost::numeric::odeint::default_error_checker< value_type, algebra_type, operations_type >::error(), boost::numeric::odeint::detail::fusion_maximum< Value >::operator()(), boost::numeric::odeint::default_operations::rel_error< Fac1 >::operator()(), boost::numeric::odeint::default_operations::default_rel_error< Fac1 >::operator()(), boost::numeric::odeint::default_operations::maximum< Value >::operator()(), boost::numeric::odeint::default_operations::rel_error_max< Fac1 >::operator()(), boost::numeric::odeint::default_operations::rel_error_max2< Fac1 >::operator()(), boost::numeric::odeint::default_operations::rel_error_l2< Fac1 >::operator()(), and boost::numeric::odeint::default_operations::rel_error_l2_2< Fac1 >::operator()().
|
inline |
boost::numeric::odeint::integrate | ( | System | system, |
State & | start_state, | ||
Time | start_time, | ||
Time | end_time, | ||
Time | dt, | ||
Observer | observer | ||
) |
Integrates the ODE.
Integrates the ODE given by system from start_time to end_time starting with start_state as initial condition and dt as initial time step. This function uses a dense output dopri5 stepper and performs an adaptive integration with step size control, thus dt changes during the integration. This method uses standard error bounds of 1E-6. After each step, the observer is called.
system | The system function to solve, hence the r.h.s. of the ordinary differential equation. |
start_state | The initial state. |
start_time | Start time of the integration. |
end_time | End time of the integration. |
dt | Initial step size, will be adjusted during the integration. |
observer | Observer that will be called after each time step. |
References integrate_adaptive().
Referenced by integrate().
boost::numeric::odeint::integrate | ( | System | system, |
State & | start_state, | ||
Time | start_time, | ||
Time | end_time, | ||
Time | dt | ||
) |
Integrates the ODE without observer calls.
Integrates the ODE given by system from start_time to end_time starting with start_state as initial condition and dt as initial time step. This function uses a dense output dopri5 stepper and performs an adaptive integration with step size control, thus dt changes during the integration. This method uses standard error bounds of 1E-6. No observer is called.
system | The system function to solve, hence the r.h.s. of the ordinary differential equation. |
start_state | The initial state. |
start_time | Start time of the integration. |
end_time | End time of the integration. |
dt | Initial step size, will be adjusted during the integration. |
References integrate().
boost::numeric::odeint::integrate_adaptive | ( | Stepper | stepper, |
System | system, | ||
State & | start_state, | ||
Time | start_time, | ||
Time | end_time, | ||
Time | dt, | ||
Observer | observer | ||
) |
Integrates the ODE with adaptive step size.
This function integrates the ODE given by system with the given stepper. The observer is called after each step. If the stepper has no error control, the step size remains constant and the observer is called at equidistant time points t0+n*dt. If the stepper is a ControlledStepper, the step size is adjusted and the observer is called in non-equidistant intervals.
stepper | The stepper to be used for numerical integration. |
system | Function/Functor defining the rhs of the ODE. |
start_state | The initial condition x0. |
start_time | The initial time t0. |
end_time | The final integration time tend. |
dt | The time step between observer calls, not necessarily the time step of the integration. |
observer | Function/Functor called at equidistant time intervals. |
References integrate_adaptive().
Referenced by integrate(), integrate_adaptive(), and integrate_const().
size_t boost::numeric::odeint::integrate_adaptive | ( | Stepper | stepper, |
System | system, | ||
const State & | start_state, | ||
Time | start_time, | ||
Time | end_time, | ||
Time | dt, | ||
Observer | observer | ||
) |
Second version to solve the forwarding problem, can be called with Boost.Range as start_state.
References integrate_adaptive().
size_t boost::numeric::odeint::integrate_adaptive | ( | Stepper | stepper, |
System | system, | ||
State & | start_state, | ||
Time | start_time, | ||
Time | end_time, | ||
Time | dt | ||
) |
integrate_adaptive without an observer.
References integrate_adaptive().
size_t boost::numeric::odeint::integrate_adaptive | ( | Stepper | stepper, |
System | system, | ||
const State & | start_state, | ||
Time | start_time, | ||
Time | end_time, | ||
Time | dt | ||
) |
Second version to solve the forwarding problem, can be called with Boost.Range as start_state.
References integrate_adaptive().
Referenced by integrate_adaptive().
boost::numeric::odeint::integrate_const | ( | Stepper | stepper, |
System | system, | ||
State & | start_state, | ||
Time | start_time, | ||
Time | end_time, | ||
Time | dt, | ||
Observer | observer | ||
) |
Integrates the ODE with constant step size.
Integrates the ODE defined by system using the given stepper. This method ensures that the observer is called at constant intervals 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.
stepper | The stepper to be used for numerical integration. |
system | Function/Functor defining the rhs of the ODE. |
start_state | The initial condition x0. |
start_time | The initial time t0. |
end_time | The final integration time tend. |
dt | The time step between observer calls, not necessarily the time step of the integration. |
observer | Function/Functor called at equidistant time intervals. |
References integrate_adaptive(), integrate_const(), and boost::program_options::value().
Referenced by integrate_const().
size_t boost::numeric::odeint::integrate_const | ( | Stepper | stepper, |
System | system, | ||
const State & | start_state, | ||
Time | start_time, | ||
Time | end_time, | ||
Time | dt, | ||
Observer | observer | ||
) |
Second version to solve the forwarding problem, can be called with Boost.Range as start_state.
References integrate_adaptive(), integrate_const(), and boost::program_options::value().
size_t boost::numeric::odeint::integrate_const | ( | Stepper | stepper, |
System | system, | ||
State & | start_state, | ||
Time | start_time, | ||
Time | end_time, | ||
Time | dt | ||
) |
integrate_const without observer calls
References integrate_const().
size_t boost::numeric::odeint::integrate_const | ( | Stepper | stepper, |
System | system, | ||
const State & | start_state, | ||
Time | start_time, | ||
Time | end_time, | ||
Time | dt | ||
) |
Second version to solve the forwarding problem, can be called with Boost.Range as start_state.
References integrate_const().
Referenced by integrate_const().
Time boost::numeric::odeint::integrate_n_steps | ( | Stepper | stepper, |
System | system, | ||
State & | start_state, | ||
Time | start_time, | ||
Time | dt, | ||
size_t | num_of_steps, | ||
Observer | observer | ||
) |
Integrates the ODE with constant step size.
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.
stepper | The stepper to be used for numerical integration. |
system | Function/Functor defining the rhs of the ODE. |
start_state | The initial condition x0. |
start_time | The initial time t0. |
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. |
References integrate_n_steps().
Referenced by integrate_n_steps().
Time boost::numeric::odeint::integrate_n_steps | ( | Stepper | stepper, |
System | system, | ||
const State & | start_state, | ||
Time | start_time, | ||
Time | dt, | ||
size_t | num_of_steps, | ||
Observer | observer | ||
) |
Solves the forwarding problem, can be called with Boost.Range as start_state.
References integrate_n_steps().
Time boost::numeric::odeint::integrate_n_steps | ( | Stepper | stepper, |
System | system, | ||
State & | start_state, | ||
Time | start_time, | ||
Time | dt, | ||
size_t | num_of_steps | ||
) |
The same function as above, but without observer calls.
References integrate_n_steps().
Time boost::numeric::odeint::integrate_n_steps | ( | Stepper | stepper, |
System | system, | ||
const State & | start_state, | ||
Time | start_time, | ||
Time | dt, | ||
size_t | num_of_steps | ||
) |
Solves the forwarding problem, can be called with Boost.Range as start_state.
References integrate_n_steps().
Referenced by integrate_n_steps().
size_t boost::numeric::odeint::integrate_times | ( | Stepper | stepper, |
System | system, | ||
State & | start_state, | ||
TimeIterator | times_start, | ||
TimeIterator | times_end, | ||
Time | dt, | ||
Observer | observer | ||
) |
Integrates the ODE with observer calls at given time points.
Integrates the ODE given by system using the given stepper. This function does observer calls at the subsequent time points given by the range times_start, times_end. If the stepper has not step size control, the step size might be reduced occasionally to ensure observer calls exactly at the time points from the given sequence. If the stepper is a ControlledStepper, the step size is adjusted to meet the error bounds, but also might be reduced occasionally to ensure correct observer calls. If a DenseOutputStepper is provided, the dense output functionality is used to call the observer at the given times. The end time of the integration is always *(end_time-1).
stepper | The stepper to be used for numerical integration. |
system | Function/Functor defining the rhs of the ODE. |
start_state | The initial condition x0. |
times_start | Iterator to the start time |
times_end | Iterator to the end time |
dt | The time step between observer calls, not necessarily the time step of the integration. |
observer | Function/Functor called at equidistant time intervals. |
References integrate_times().
Referenced by integrate_times().
size_t boost::numeric::odeint::integrate_times | ( | Stepper | stepper, |
System | system, | ||
const State & | start_state, | ||
TimeIterator | times_start, | ||
TimeIterator | times_end, | ||
Time | dt, | ||
Observer | observer | ||
) |
Solves the forwarding problem, can be called with Boost.Range as start_state.
References integrate_times().
size_t boost::numeric::odeint::integrate_times | ( | Stepper | stepper, |
System | system, | ||
State & | start_state, | ||
const TimeRange & | times, | ||
Time | dt, | ||
Observer | observer | ||
) |
The same function as above, but without observer calls.
References boost::asio::begin, boost::end, and integrate_times().
size_t boost::numeric::odeint::integrate_times | ( | Stepper | stepper, |
System | system, | ||
const State & | start_state, | ||
const TimeRange & | times, | ||
Time | dt, | ||
Observer | observer | ||
) |
Solves the forwarding problem, can be called with Boost.Range as start_state.
References boost::asio::begin, boost::end, and integrate_times().
Referenced by integrate_times().
boost::numeric::odeint::make_adaptive_iterator_begin | ( | Stepper | stepper, |
System | system, | ||
State & | x, | ||
typename traits::time_type< Stepper >::type | t_start, | ||
typename traits::time_type< Stepper >::type | t_end, | ||
typename traits::time_type< Stepper >::type | dt | ||
) |
Factory function for adaptive_iterator.
Constructs a begin iterator.
stepper | The stepper to use during the iteration. |
system | The system function (ODE) to solve. |
x | The initial state. |
t_start | The initial time. |
t_end | The end time, at which the iteration should stop. |
dt | The initial time step. |
References boost::flyweights::x.
boost::numeric::odeint::make_adaptive_iterator_end | ( | Stepper | stepper, |
System | system, | ||
State & | x | ||
) |
Factory function for adaptive_iterator.
Constructs a end iterator.
stepper | The stepper to use during the iteration. |
system | The system function (ODE) to solve. |
x | The initial state. |
References boost::flyweights::x.
boost::numeric::odeint::make_adaptive_range | ( | Stepper | stepper, |
System | system, | ||
State & | x, | ||
typename traits::time_type< Stepper >::type | t_start, | ||
typename traits::time_type< Stepper >::type | t_end, | ||
typename traits::time_type< Stepper >::type | dt | ||
) |
Factory function to construct a single pass range of adaptive iterators.
A range is here a pair of adaptive_iterator.
stepper | The stepper to use during the iteration. |
system | The system function (ODE) to solve. |
x | The initial state. |
t_start | The initial time. |
t_end | The end time, at which the iteration should stop. |
dt | The initial time step. |
References boost::xpressive::make_pair.
boost::numeric::odeint::make_adaptive_time_iterator_begin | ( | Stepper | stepper, |
System | system, | ||
State & | x, | ||
typename traits::time_type< Stepper >::type | t_start, | ||
typename traits::time_type< Stepper >::type | t_end, | ||
typename traits::time_type< Stepper >::type | dt | ||
) |
Factory function for adaptive_time_iterator.
Constructs a begin iterator.
stepper | The stepper to use during the iteration. |
system | The system function (ODE) to solve. |
x | The initial state. adaptive_time_iterator stores a reference of s and changes its value during the iteration. |
t_start | The initial time. |
t_end | The end time, at which the iteration should stop. |
dt | The initial time step. |
References boost::flyweights::x.
boost::numeric::odeint::make_adaptive_time_iterator_end | ( | Stepper | stepper, |
System | system, | ||
State & | x | ||
) |
Factory function for adaptive_time_iterator.
Constructs a end iterator.
stepper | The stepper to use during the iteration. |
system | The system function (ODE) to solve. |
x | The initial state. adaptive_time_iterator stores a reference of s and changes its value during the iteration. |
References boost::flyweights::x.
boost::numeric::odeint::make_adaptive_time_range | ( | Stepper | stepper, |
System | system, | ||
State & | x, | ||
typename traits::time_type< Stepper >::type | t_start, | ||
typename traits::time_type< Stepper >::type | t_end, | ||
typename traits::time_type< Stepper >::type | dt | ||
) |
Factory function to construct a single pass range of adaptive time iterators.
A range is here a pair of adaptive_time_iterators.
stepper | The stepper to use during the iteration. |
system | The system function (ODE) to solve. |
x | The initial state. adaptive_time_iterator stores a reference of s and changes its value during the iteration. |
t_start | The initial time. |
t_end | The end time, at which the iteration should stop. |
dt | The initial time step. |
References boost::xpressive::make_pair.
boost::numeric::odeint::make_const_step_iterator_begin | ( | Stepper | stepper, |
System | system, | ||
State & | x, | ||
typename traits::time_type< Stepper >::type | t_start, | ||
typename traits::time_type< Stepper >::type | t_end, | ||
typename traits::time_type< Stepper >::type | dt | ||
) |
Factory function for const_step_iterator.
Constructs a begin iterator.
stepper | The stepper to use during the iteration. |
system | The system function (ODE) to solve. |
x | The initial state. const_step_iterator stores a reference of s and changes its value during the iteration. |
t_start | The initial time. |
t_end | The end time, at which the iteration should stop. |
dt | The initial time step. |
References boost::flyweights::x.
boost::numeric::odeint::make_const_step_iterator_end | ( | Stepper | stepper, |
System | system, | ||
State & | x | ||
) |
Factory function for const_step_iterator.
Constructs a end iterator.
stepper | The stepper to use during the iteration. |
system | The system function (ODE) to solve. |
x | The initial state. const_step_iterator stores a reference of s and changes its value during the iteration. |
References boost::flyweights::x.
boost::numeric::odeint::make_const_step_range | ( | Stepper | stepper, |
System | system, | ||
State & | x, | ||
typename traits::time_type< Stepper >::type | t_start, | ||
typename traits::time_type< Stepper >::type | t_end, | ||
typename traits::time_type< Stepper >::type | dt | ||
) |
Factory function to construct a single pass range of const step iterators.
A range is here a pair of const_step_iterator.
stepper | The stepper to use during the iteration. |
system | The system function (ODE) to solve. |
x | The initial state. const_step_iterator store a reference of s and changes its value during the iteration. |
t_start | The initial time. |
t_end | The end time, at which the iteration should stop. |
dt | The initial time step. |
References boost::xpressive::make_pair.
boost::numeric::odeint::make_const_step_time_iterator_begin | ( | Stepper | stepper, |
System | system, | ||
State & | x, | ||
typename traits::time_type< Stepper >::type | t_start, | ||
typename traits::time_type< Stepper >::type | t_end, | ||
typename traits::time_type< Stepper >::type | dt | ||
) |
Factory function for const_step_time_iterator.
Constructs a begin iterator.
stepper | The stepper to use during the iteration. |
system | The system function (ODE) to solve. |
x | The initial state. const_step_time_iterator stores a reference of s and changes its value during the iteration. |
t_start | The initial time. |
t_end | The end time, at which the iteration should stop. |
dt | The initial time step. |
References boost::flyweights::x.
boost::numeric::odeint::make_const_step_time_iterator_end | ( | Stepper | stepper, |
System | system, | ||
State & | x | ||
) |
Factory function for const_step_time_iterator.
Constructs a end iterator.
stepper | The stepper to use during the iteration. |
system | The system function (ODE) to solve. |
x | The initial state. const_step_time_iterator store a reference of s and changes its value during the iteration. |
References boost::flyweights::x.
boost::numeric::odeint::make_const_step_time_range | ( | Stepper | stepper, |
System | system, | ||
State & | x, | ||
typename traits::time_type< Stepper >::type | t_start, | ||
typename traits::time_type< Stepper >::type | t_end, | ||
typename traits::time_type< Stepper >::type | dt | ||
) |
Factory function to construct a single pass range of const_step_time_iterator.
A range is here a pair of const_step_time_iterator.
stepper | The stepper to use during the iteration. |
system | The system function (ODE) to solve. |
x | The initial state. const_step_time_iterator stores a reference of s and changes its value during the iteration. |
t | The initial time. |
t_end | The end time, at which the iteration should stop. |
dt | The initial time step. |
References boost::xpressive::make_pair.
result_of::make_controlled< Stepper >::type boost::numeric::odeint::make_controlled | ( | typename Stepper::value_type | abs_error, |
typename Stepper::value_type | rel_error, | ||
const Stepper & | stepper = Stepper() |
||
) |
References boost::serialization::factory().
result_of::make_dense_output< Stepper >::type boost::numeric::odeint::make_dense_output | ( | typename Stepper::value_type | abs_error, |
typename Stepper::value_type | rel_error, | ||
const Stepper & | stepper = Stepper() |
||
) |
References boost::serialization::factory().
boost::numeric::odeint::make_n_step_iterator_begin | ( | Stepper | stepper, |
System | system, | ||
State & | x, | ||
typename traits::time_type< Stepper >::type | t, | ||
typename traits::time_type< Stepper >::type | dt, | ||
size_t | num_of_steps | ||
) |
Factory function for n_step_iterator.
Constructs a begin iterator.
stepper | The stepper to use during the iteration. |
system | The system function (ODE) to solve. |
x | The initial state. const_step_iterator stores a reference of s and changes its value during the iteration. |
t | The initial time. |
dt | The initial time step. |
num_of_steps | The number of steps to be executed. |
References boost::flyweights::t, and boost::flyweights::x.
boost::numeric::odeint::make_n_step_iterator_end | ( | Stepper | stepper, |
System | system, | ||
State & | x | ||
) |
Factory function for n_step_iterator.
Constructs an end iterator.
stepper | The stepper to use during the iteration. |
system | The system function (ODE) to solve. |
x | The initial state. const_step_iterator stores a reference of s and changes its value during the iteration. |
References boost::flyweights::x.
boost::numeric::odeint::make_n_step_range | ( | Stepper | stepper, |
System | system, | ||
State & | x, | ||
typename traits::time_type< Stepper >::type | t, | ||
typename traits::time_type< Stepper >::type | dt, | ||
size_t | num_of_steps | ||
) |
Factory function to construct a single pass range of n-step iterators.
A range is here a pair of n_step_iterator.
stepper | The stepper to use during the iteration. |
system | The system function (ODE) to solve. |
x | The initial state. const_step_iterator store a reference of s and changes its value during the iteration. |
t | The initial time. |
dt | The initial time step. |
num_of_steps | The number of steps to be executed. |
References boost::xpressive::make_pair.
boost::numeric::odeint::make_n_step_time_iterator_begin | ( | Stepper | stepper, |
System | system, | ||
State & | x, | ||
typename traits::time_type< Stepper >::type | t, | ||
typename traits::time_type< Stepper >::type | dt, | ||
size_t | num_of_steps | ||
) |
Factory function for n_step_time_iterator.
Constructs a begin iterator.
stepper | The stepper to use during the iteration. |
system | The system function (ODE) to solve. |
x | The initial state. const_step_iterator stores a reference of s and changes its value during the iteration. |
t | The initial time. |
dt | The initial time step. |
num_of_steps | The number of steps to be executed. |
References boost::flyweights::t, and boost::flyweights::x.
boost::numeric::odeint::make_n_step_time_iterator_end | ( | Stepper | stepper, |
System | system, | ||
State & | x | ||
) |
Factory function for n_step_time_iterator.
Constructs an end iterator.
stepper | The stepper to use during the iteration. |
system | The system function (ODE) to solve. |
x | The initial state. const_step_iterator stores a reference of s and changes its value during the iteration. |
References boost::flyweights::x.
boost::numeric::odeint::make_n_step_time_range | ( | Stepper | stepper, |
System | system, | ||
State & | x, | ||
typename traits::time_type< Stepper >::type | t, | ||
typename traits::time_type< Stepper >::type | dt, | ||
size_t | num_of_steps | ||
) |
Factory function to construct a single pass range of n-step iterators.
A range is here a pair of n_step_time_iterator.
stepper | The stepper to use during the iteration. |
system | The system function (ODE) to solve. |
x | The initial state. const_step_iterator store a reference of s and changes its value during the iteration. |
t | The initial time. |
dt | The initial time step. |
num_of_steps | The number of steps to be executed. |
References boost::xpressive::make_pair.
boost::numeric::odeint::make_times_iterator_begin | ( | Stepper | stepper, |
System | system, | ||
State & | x, | ||
TimeIterator | t_start, | ||
TimeIterator | t_end, | ||
typename traits::time_type< Stepper >::type | dt | ||
) |
Factory function for times_iterator.
Constructs a begin iterator.
stepper | The stepper to use during the iteration. |
system | The system function (ODE) to solve. |
x | The initial state. const_step_iterator stores a reference of s and changes its value during the iteration. |
t_start | Begin iterator of the sequence of evaluation time points. |
t_end | End iterator of the sequence of evaluation time points. |
dt | The initial time step. |
References boost::flyweights::x.
boost::numeric::odeint::make_times_iterator_end | ( | Stepper | stepper, |
System | system, | ||
State & | x | ||
) |
Factory function for times_iterator.
Constructs an end iterator.
TimesIterator | The iterator type of the time sequence, must be specifically provided. |
stepper | The stepper to use during the iteration. |
system | The system function (ODE) to solve. |
x | The initial state. const_step_iterator stores a reference of s and changes its value during the iteration. |
This function needs the TimeIterator type specifically defined as a template parameter.
References boost::flyweights::x.
boost::numeric::odeint::make_times_range | ( | Stepper | stepper, |
System | system, | ||
State & | x, | ||
TimeIterator | t_start, | ||
TimeIterator | t_end, | ||
typename traits::time_type< Stepper >::type | dt | ||
) |
Factory function to construct a single pass range of times iterators.
A range is here a pair of times_iterator.
stepper | The stepper to use during the iteration. |
system | The system function (ODE) to solve. |
x | The initial state. const_step_iterator store a reference of s and changes its value during the iteration. |
t_start | Begin iterator of the sequence of evaluation time points. |
t_end | End iterator of the sequence of evaluation time points. |
dt | The initial time step. |
References boost::xpressive::make_pair.
boost::numeric::odeint::make_times_time_iterator_begin | ( | Stepper | stepper, |
System | system, | ||
State & | x, | ||
TimeIterator | t_start, | ||
TimeIterator | t_end, | ||
typename traits::time_type< Stepper >::type | dt | ||
) |
Factory function for times_time_iterator.
Constructs a begin iterator.
stepper | The stepper to use during the iteration. |
system | The system function (ODE) to solve. |
x | The initial state. const_step_iterator stores a reference of s and changes its value during the iteration. |
t_start | Begin iterator of the sequence of evaluation time points. |
t_end | End iterator of the sequence of evaluation time points. |
dt | The initial time step. |
References boost::flyweights::x.
boost::numeric::odeint::make_times_time_iterator_end | ( | Stepper | stepper, |
System | system, | ||
State & | x | ||
) |
Factory function for times_time_iterator.
Constructs an end iterator.
TimesIterator | The iterator type of the time sequence, must be specifically provided. |
stepper | The stepper to use during the iteration. |
system | The system function (ODE) to solve. |
x | The initial state. const_step_iterator stores a reference of s and changes its value during the iteration. |
This function needs the TimeIterator type specifically defined as a template parameter.
References boost::flyweights::x.
boost::numeric::odeint::make_times_time_range | ( | Stepper | stepper, |
System | system, | ||
State & | x, | ||
TimeIterator | t_start, | ||
TimeIterator | t_end, | ||
typename traits::time_type< Stepper >::type | dt | ||
) |
Factory function to construct a single pass range of times_time iterators.
A range is here a pair of times_iterator.
stepper | The stepper to use during the iteration. |
system | The system function (ODE) to solve. |
x | The initial state. const_step_iterator store a reference of s and changes its value during the iteration. |
t_start | Begin iterator of the sequence of evaluation time points. |
t_end | End iterator of the sequence of evaluation time points. |
dt | The initial time step. |
References boost::xpressive::make_pair.
void boost::numeric::odeint::resize | ( | StateOut & | x1, |
const StateIn & | x2 | ||
) |
References boost::numeric::odeint::resize_impl< StateOut, StateIn >::resize().
Referenced by boost::numeric::odeint::dense_output_runge_kutta< Stepper, explicit_controlled_stepper_fsal_tag >::adjust_size(), adjust_size_by_resizeability(), boost::numeric::odeint::resize_impl< mpi_state< InnerState1 >, mpi_state< InnerState2 > >::resize(), boost::numeric::odeint::detail::resizer::resize_op(), boost::numeric::odeint::split_impl< Source, mpi_state< InnerState >, typename boost::enable_if< boost::has_range_const_iterator< Source > >::type >::split(), and boost::numeric::odeint::state_wrapper< gsl_vector * >::state_wrapper().
bool boost::numeric::odeint::same_instance | ( | const T1 & | x1, |
const T2 & | x2 | ||
) |
bool boost::numeric::odeint::same_size | ( | const State1 & | x1, |
const State2 & | x2 | ||
) |
References boost::numeric::odeint::same_size_impl< State1, State2 >::same_size().
Referenced by adjust_size_by_resizeability(), boost::numeric::odeint::same_size_impl< mpi_state< InnerState1 >, mpi_state< InnerState2 > >::same_size(), and boost::numeric::odeint::detail::same_size_fusion::same_size_op().
void boost::numeric::odeint::set_unit_value | ( | T & | t, |
const V & | v | ||
) |
void boost::numeric::odeint::split | ( | const Container1 & | from, |
Container2 & | to | ||
) |
void boost::numeric::odeint::unsplit | ( | const Container1 & | from, |
Container2 & | to | ||
) |