...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
Home | Libraries | People | FAQ | More |
boost::numeric::odeint::controlled_adams_bashforth_moulton
// In header: <boost/numeric/odeint/stepper/controlled_adams_bashforth_moulton.hpp> template<typename ErrorStepper, typename StepAdjuster = detail::pid_step_adjuster< typename ErrorStepper::state_type, typename ErrorStepper::value_type, typename ErrorStepper::deriv_type, typename ErrorStepper::time_type, typename ErrorStepper::algebra_type, typename ErrorStepper::operations_type, detail::H211PI >, typename OrderAdjuster = default_order_adjuster< ErrorStepper::order_value, typename ErrorStepper::state_type, typename ErrorStepper::value_type, typename ErrorStepper::algebra_type >, typename Resizer = initially_resizer> class controlled_adams_bashforth_moulton { public: // types typedef ErrorStepper stepper_type; typedef stepper_type::state_type state_type; typedef stepper_type::value_type value_type; typedef stepper_type::deriv_type deriv_type; typedef stepper_type::time_type time_type; typedef stepper_type::algebra_type algebra_type; typedef stepper_type::operations_type operations_type; typedef Resizer resizer_type; typedef StepAdjuster step_adjuster_type; typedef OrderAdjuster order_adjuster_type; typedef controlled_stepper_tag stepper_category; typedef stepper_type::wrapped_state_type wrapped_state_type; typedef stepper_type::wrapped_deriv_type wrapped_deriv_type; typedef boost::array< wrapped_state_type, 4 > error_storage_type; typedef stepper_type::coeff_type coeff_type; typedef controlled_adams_bashforth_moulton< ErrorStepper, StepAdjuster, OrderAdjuster, Resizer > controlled_stepper_type; // construct/copy/destruct controlled_adams_bashforth_moulton(step_adjuster_type = step_adjuster_type()); // public member functions template<typename ExplicitStepper, typename System> void initialize(ExplicitStepper, System, state_type &, time_type &, time_type); template<typename System> void initialize(System, state_type &, time_type &, time_type); template<typename ExplicitStepper, typename System> void initialize_controlled(ExplicitStepper, System, state_type &, time_type &, time_type &); template<typename System> controlled_step_result try_step(System, state_type &, time_type &, time_type &); template<typename System> controlled_step_result try_step(System, const state_type &, time_type &, state_type &, time_type &); void reset(); // private member functions template<typename StateType> bool resize_dxdt_impl(const StateType &); template<typename StateType> bool resize_xerr_impl(const StateType &); template<typename StateType> bool resize_xnew_impl(const StateType &); // public data members static const stepper_type::order_type order_value; };
controlled_adams_bashforth_moulton
public member functionstemplate<typename ExplicitStepper, typename System> void initialize(ExplicitStepper stepper, System system, state_type & inOut, time_type & t, time_type dt);
template<typename System> void initialize(System system, state_type & inOut, time_type & t, time_type dt);
template<typename ExplicitStepper, typename System> void initialize_controlled(ExplicitStepper stepper, System system, state_type & inOut, time_type & t, time_type & dt);
template<typename System> controlled_step_result try_step(System system, state_type & inOut, time_type & t, time_type & dt);
template<typename System> controlled_step_result try_step(System system, const state_type & in, time_type & t, state_type & out, time_type & dt);
void reset();