![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Class template adams_bashforth_moultonBoost , Chapter 1. Boost.Numeric.Odeint , Header <boost/numeric/odeint/stepper/adams_bashforth_moulton.hpp>
|
![]() | Home | Libraries | People | FAQ | More |
boost::numeric::odeint::adams_bashforth_moulton — The Adams-Bashforth-Moulton multistep algorithm.
// In header: <boost/numeric/odeint/stepper/adams_bashforth_moulton.hpp> template<size_t Steps, typename State, typename Value = double, typename Deriv = State, typename Time = Value, typename Algebra = typename algebra_dispatcher< State >::algebra_type, typename Operations = typename operations_dispatcher< State >::operations_type, typename Resizer = initially_resizer, typename InitializingStepper = runge_kutta4< State , Value , Deriv , Time , Algebra , Operations, Resizer > > class adams_bashforth_moulton { public: // types typedef State state_type; typedef state_wrapper< state_type > wrapped_state_type; typedef Value value_type; typedef Deriv deriv_type; typedef state_wrapper< deriv_type > wrapped_deriv_type; typedef Time time_type; typedef Algebra algebra_type; typedef Operations operations_type; typedef Resizer resizer_type; typedef stepper_tag stepper_category; typedef InitializingStepper initializing_stepper_type; typedef unsigned short order_type; // construct/copy/destruct adams_bashforth_moulton(void); adams_bashforth_moulton(const algebra_type &); // public member functions order_type order(void) const; template<typename System, typename StateInOut> void do_step(System, StateInOut &, time_type, time_type); template<typename System, typename StateInOut> void do_step(System, const StateInOut &, time_type, time_type); template<typename System, typename StateIn, typename StateOut> void do_step(System, const StateIn &, time_type, const StateOut &, time_type); template<typename System, typename StateIn, typename StateOut> void do_step(System, const StateIn &, time_type, StateOut &, time_type); template<typename StateType> void adjust_size(const StateType &); template<typename ExplicitStepper, typename System, typename StateIn> void initialize(ExplicitStepper, System, StateIn &, time_type &, time_type); template<typename System, typename StateIn> void initialize(System, StateIn &, time_type &, time_type); // private member functions template<typename System, typename StateInOut> void do_step_impl1(System, StateInOut &, time_type, time_type); template<typename System, typename StateIn, typename StateInOut> void do_step_impl2(System, StateIn const &, time_type, StateInOut &, time_type); template<typename StateIn> bool resize_impl(const StateIn &); // public data members static const size_t steps; static const order_type order_value; };
Метод Adams-Bashforth - многоступенчатый алгоритм предиктора-корректора с настраиваемым номером шага. Номер шага определяется как шаблон параметр Шаги, а затем использует результат предыдущих шагов. См. также en.wikipedia.org/wiki/Linear_multistep_method. В настоящее время поддерживается максимум Steps=8. Метод является явным и выполняет концепцию Stepper. Контроль размера шага или непрерывный выход не предусмотрены.
Этот класс происходит от алгебры_базы и наследует свой интерфейс через CRTP (текущий повторяющийся шаблон). Подробнее см. algebra_stepper_base.
Число шагов (максимально 8).
The number of steps (maximal 8).
[ORIG_END] -->typename State
The state type.
Тип значения.
The value type.
[ORIG_END] -->Тип, представляющий производную времени состояния.
The type representing the time derivative of the state.
[ORIG_END] -->Время представления независимой переменной - время.
The time representing the independent variable - the time.
[ORIG_END] -->Тип алгебры.
The algebra type.
[ORIG_END] -->Тип операций.
The operations type.
[ORIG_END] -->Тип политики ретрансляции.
The resizer policy type.
[ORIG_END] -->typename InitializingStepper = runge_kutta4< State , Value , Deriv , Time , Algebra , Operations, Resizer >
The stepper for the first two steps.
adams_bashforth_moulton
public
construct/copy/destructadams_bashforth_moulton(void);Constructs the
adams_bashforth
class. Параметры: |
|
Parameters: |
|
adams_bashforth_moulton
public member functionsВозвращение: | заказ метода. |
Returns: | order of the method. |
Параметры: |
|
Parameters: |
|
template<typename System,typename stateInOut> void do_step(System, Происходит как StateInOut.
Параметры: |
|
Parameters: |
|
template<typename StateType> void adjust_size(const StateType & x);Adjust the size of all temporaries in the stepper manually.
Parameters: |
|
template<typename ExplicitStepper, typename System, typename StateIn> void initialize(ExplicitStepper explicit_stepper, System system, StateIn & x, time_type & t, time_type dt);Initialized the stepper. Does Steps-1 steps with the explicit_stepper to fill the buffer.
![]() | Note |
---|---|
The state x and time t are updated to the values after Steps-1 initial steps. |
Parameters: |
|
Параметры: |
|
Parameters: |
|
Статья Class template adams_bashforth_moulton раздела Chapter 1. Boost.Numeric.Odeint Header <boost/numeric/odeint/stepper/adams_bashforth_moulton.hpp> может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
:: Главная :: Header <boost/numeric/odeint/stepper/adams_bashforth_moulton.hpp> ::
реклама |