![]() |
Home | Libraries | People | FAQ | More |
boost::numeric::odeint::dense_output_runge_kutta<Stepper, explicit_controlled_stepper_fsal_tag> — The class representing dense-output Runge-Kutta steppers with FSAL property.
// In header: <boost/numeric/odeint/stepper/dense_output_runge_kutta.hpp> template<typename Stepper> class dense_output_runge_kutta<Stepper, explicit_controlled_stepper_fsal_tag> { public: // types typedef Stepper controlled_stepper_type; typedef controlled_stepper_type::stepper_type stepper_type; typedef stepper_type::state_type state_type; typedef stepper_type::wrapped_state_type wrapped_state_type; typedef stepper_type::value_type value_type; typedef stepper_type::deriv_type deriv_type; typedef stepper_type::wrapped_deriv_type wrapped_deriv_type; typedef stepper_type::time_type time_type; typedef stepper_type::algebra_type algebra_type; typedef stepper_type::operations_type operations_type; typedef stepper_type::resizer_type resizer_type; typedef dense_output_stepper_tag stepper_category; typedef dense_output_runge_kutta< Stepper > dense_output_stepper_type; // public member functions m_resizer(); m_current_state_x1(true); m_x1(); m_x2(); m_dxdt1(); m_dxdt2(); m_t(); m_t_old(); m_dt(); m_is_deriv_initialized(false); template<typename StateType> void initialize(const StateType &, time_type, time_type); template<typename System> std::pair< time_type, time_type > do_step(System); template<typename StateOut> void calc_state(time_type, StateOut &) const; template<typename StateOut> void calc_state(time_type, const StateOut &) const; template<typename StateIn> bool resize(const StateIn &); template<typename StateType> void adjust_size(const StateType &); const state_type & current_state(void) const; time_type current_time(void) const; const state_type & previous_state(void) const; time_type previous_time(void) const; time_type current_time_step(void) const; // private member functions state_type & get_current_state(void); const state_type & get_current_state(void) const; state_type & get_old_state(void); const state_type & get_old_state(void) const; deriv_type & get_current_deriv(void); const deriv_type & get_current_deriv(void) const; deriv_type & get_old_deriv(void); const deriv_type & get_old_deriv(void) const; void toggle_current_state(void); // public data members __pad0__; };
The interface is the same as for dense_output_runge_kutta< Stepper , stepper_tag >. This class provides dense output functionality based on methods with step size controlled
dense_output_runge_kutta
public member functionsm_resizer();
m_current_state_x1(true);
m_x1();
m_x2();
m_dxdt1();
m_dxdt2();
m_t();
m_t_old();
m_dt();
m_is_deriv_initialized(false);
template<typename StateType> void initialize(const StateType & x0, time_type t0, time_type dt0);
template<typename System> std::pair< time_type, time_type > do_step(System system);
template<typename StateOut> void calc_state(time_type t, StateOut & x) const;
template<typename StateOut> void calc_state(time_type t, const StateOut & x) const;
template<typename StateIn> bool resize(const StateIn & x);
template<typename StateType> void adjust_size(const StateType & x);
const state_type & current_state(void) const;
time_type current_time(void) const;
const state_type & previous_state(void) const;
time_type previous_time(void) const;
time_type current_time_step(void) const;
dense_output_runge_kutta
private member functionsstate_type & get_current_state(void);
const state_type & get_current_state(void) const;
state_type & get_old_state(void);
const state_type & get_old_state(void) const;
deriv_type & get_current_deriv(void);
const deriv_type & get_current_deriv(void) const;
deriv_type & get_old_deriv(void);
const deriv_type & get_old_deriv(void) const;
void toggle_current_state(void);