Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
boost::numeric::odeint::modified_midpoint_dense_out< State, Value, Deriv, Time, Algebra, Operations, Resizer > Class Template Reference

Implementation of the modified midpoint method with a configurable number of intermediate steps. More...

#include <modified_midpoint.hpp>

Inheritance diagram for boost::numeric::odeint::modified_midpoint_dense_out< State, Value, Deriv, Time, Algebra, Operations, Resizer >:

Public Types

typedef State state_type
 
typedef Value value_type
 
typedef Deriv deriv_type
 
typedef Time time_type
 
typedef Algebra algebra_type
 
typedef Operations operations_type
 
typedef Resizer resizer_type
 
typedef state_wrapper< state_typewrapped_state_type
 
typedef state_wrapper< deriv_typewrapped_deriv_type
 
typedef
modified_midpoint_dense_out
< State, Value, Deriv, Time,
Algebra, Operations, Resizer > 
stepper_type
 
typedef std::vector
< wrapped_deriv_type
deriv_table_type
 

Public Member Functions

 modified_midpoint_dense_out (unsigned short steps=2, const algebra_type &algebra=algebra_type())
 
template<class System , class StateIn , class DerivIn , class StateOut >
void do_step (System system, const StateIn &in, const DerivIn &dxdt, time_type t, StateOut &out, time_type dt, state_type &x_mp, deriv_table_type &derivs)
 
void set_steps (unsigned short steps)
 
unsigned short steps (void) const
 
template<class StateIn >
bool resize (const StateIn &x)
 
template<class StateIn >
void adjust_size (const StateIn &x)
 

Detailed Description

template<class State, class Value = double, class Deriv = State, class Time = Value, class Algebra = typename algebra_dispatcher< State >::algebra_type, class Operations = typename operations_dispatcher< State >::operations_type, class Resizer = initially_resizer>
class boost::numeric::odeint::modified_midpoint_dense_out< State, Value, Deriv, Time, Algebra, Operations, Resizer >

Implementation of the modified midpoint method with a configurable number of intermediate steps.

This class is used by the dense output Bulirsch-Stoer algorithm and is not meant for direct usage.

Note
This stepper is for internal use only and does not meet any stepper concept.

Member Typedef Documentation

template<class State, class Value = double, class Deriv = State, class Time = Value, class Algebra = typename algebra_dispatcher< State >::algebra_type, class Operations = typename operations_dispatcher< State >::operations_type, class Resizer = initially_resizer>
typedef Algebra boost::numeric::odeint::modified_midpoint_dense_out< State, Value, Deriv, Time, Algebra, Operations, Resizer >::algebra_type
template<class State, class Value = double, class Deriv = State, class Time = Value, class Algebra = typename algebra_dispatcher< State >::algebra_type, class Operations = typename operations_dispatcher< State >::operations_type, class Resizer = initially_resizer>
typedef std::vector< wrapped_deriv_type > boost::numeric::odeint::modified_midpoint_dense_out< State, Value, Deriv, Time, Algebra, Operations, Resizer >::deriv_table_type
template<class State, class Value = double, class Deriv = State, class Time = Value, class Algebra = typename algebra_dispatcher< State >::algebra_type, class Operations = typename operations_dispatcher< State >::operations_type, class Resizer = initially_resizer>
typedef Deriv boost::numeric::odeint::modified_midpoint_dense_out< State, Value, Deriv, Time, Algebra, Operations, Resizer >::deriv_type
template<class State, class Value = double, class Deriv = State, class Time = Value, class Algebra = typename algebra_dispatcher< State >::algebra_type, class Operations = typename operations_dispatcher< State >::operations_type, class Resizer = initially_resizer>
typedef Operations boost::numeric::odeint::modified_midpoint_dense_out< State, Value, Deriv, Time, Algebra, Operations, Resizer >::operations_type
template<class State, class Value = double, class Deriv = State, class Time = Value, class Algebra = typename algebra_dispatcher< State >::algebra_type, class Operations = typename operations_dispatcher< State >::operations_type, class Resizer = initially_resizer>
typedef Resizer boost::numeric::odeint::modified_midpoint_dense_out< State, Value, Deriv, Time, Algebra, Operations, Resizer >::resizer_type
template<class State, class Value = double, class Deriv = State, class Time = Value, class Algebra = typename algebra_dispatcher< State >::algebra_type, class Operations = typename operations_dispatcher< State >::operations_type, class Resizer = initially_resizer>
typedef State boost::numeric::odeint::modified_midpoint_dense_out< State, Value, Deriv, Time, Algebra, Operations, Resizer >::state_type
template<class State, class Value = double, class Deriv = State, class Time = Value, class Algebra = typename algebra_dispatcher< State >::algebra_type, class Operations = typename operations_dispatcher< State >::operations_type, class Resizer = initially_resizer>
typedef modified_midpoint_dense_out< State , Value , Deriv , Time , Algebra , Operations , Resizer > boost::numeric::odeint::modified_midpoint_dense_out< State, Value, Deriv, Time, Algebra, Operations, Resizer >::stepper_type
template<class State, class Value = double, class Deriv = State, class Time = Value, class Algebra = typename algebra_dispatcher< State >::algebra_type, class Operations = typename operations_dispatcher< State >::operations_type, class Resizer = initially_resizer>
typedef Time boost::numeric::odeint::modified_midpoint_dense_out< State, Value, Deriv, Time, Algebra, Operations, Resizer >::time_type
template<class State, class Value = double, class Deriv = State, class Time = Value, class Algebra = typename algebra_dispatcher< State >::algebra_type, class Operations = typename operations_dispatcher< State >::operations_type, class Resizer = initially_resizer>
typedef Value boost::numeric::odeint::modified_midpoint_dense_out< State, Value, Deriv, Time, Algebra, Operations, Resizer >::value_type
template<class State, class Value = double, class Deriv = State, class Time = Value, class Algebra = typename algebra_dispatcher< State >::algebra_type, class Operations = typename operations_dispatcher< State >::operations_type, class Resizer = initially_resizer>
typedef state_wrapper< deriv_type > boost::numeric::odeint::modified_midpoint_dense_out< State, Value, Deriv, Time, Algebra, Operations, Resizer >::wrapped_deriv_type
template<class State, class Value = double, class Deriv = State, class Time = Value, class Algebra = typename algebra_dispatcher< State >::algebra_type, class Operations = typename operations_dispatcher< State >::operations_type, class Resizer = initially_resizer>
typedef state_wrapper< state_type > boost::numeric::odeint::modified_midpoint_dense_out< State, Value, Deriv, Time, Algebra, Operations, Resizer >::wrapped_state_type

Constructor & Destructor Documentation

template<class State, class Value = double, class Deriv = State, class Time = Value, class Algebra = typename algebra_dispatcher< State >::algebra_type, class Operations = typename operations_dispatcher< State >::operations_type, class Resizer = initially_resizer>
boost::numeric::odeint::modified_midpoint_dense_out< State, Value, Deriv, Time, Algebra, Operations, Resizer >::modified_midpoint_dense_out ( unsigned short  steps = 2,
const algebra_type algebra = algebra_type() 
)
inline

Member Function Documentation

template<class State, class Value = double, class Deriv = State, class Time = Value, class Algebra = typename algebra_dispatcher< State >::algebra_type, class Operations = typename operations_dispatcher< State >::operations_type, class Resizer = initially_resizer>
template<class StateIn >
void boost::numeric::odeint::modified_midpoint_dense_out< State, Value, Deriv, Time, Algebra, Operations, Resizer >::adjust_size ( const StateIn &  x)
inline
template<class State, class Value = double, class Deriv = State, class Time = Value, class Algebra = typename algebra_dispatcher< State >::algebra_type, class Operations = typename operations_dispatcher< State >::operations_type, class Resizer = initially_resizer>
template<class System , class StateIn , class DerivIn , class StateOut >
void boost::numeric::odeint::modified_midpoint_dense_out< State, Value, Deriv, Time, Algebra, Operations, Resizer >::do_step ( System  system,
const StateIn &  in,
const DerivIn &  dxdt,
time_type  t,
StateOut &  out,
time_type  dt,
state_type x_mp,
deriv_table_type derivs 
)
inline
template<class State, class Value = double, class Deriv = State, class Time = Value, class Algebra = typename algebra_dispatcher< State >::algebra_type, class Operations = typename operations_dispatcher< State >::operations_type, class Resizer = initially_resizer>
template<class StateIn >
bool boost::numeric::odeint::modified_midpoint_dense_out< State, Value, Deriv, Time, Algebra, Operations, Resizer >::resize ( const StateIn &  x)
inline
template<class State, class Value = double, class Deriv = State, class Time = Value, class Algebra = typename algebra_dispatcher< State >::algebra_type, class Operations = typename operations_dispatcher< State >::operations_type, class Resizer = initially_resizer>
void boost::numeric::odeint::modified_midpoint_dense_out< State, Value, Deriv, Time, Algebra, Operations, Resizer >::set_steps ( unsigned short  steps)
inline
template<class State, class Value = double, class Deriv = State, class Time = Value, class Algebra = typename algebra_dispatcher< State >::algebra_type, class Operations = typename operations_dispatcher< State >::operations_type, class Resizer = initially_resizer>
unsigned short boost::numeric::odeint::modified_midpoint_dense_out< State, Value, Deriv, Time, Algebra, Operations, Resizer >::steps ( void  ) const
inline

The documentation for this class was generated from the following file: