![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Class template dense_output_runge_kutta<Stepper, stepper_tag>Boost , Chapter 1. Boost.Numeric.Odeint , Header <boost/numeric/odeint/stepper/dense_output_runge_kutta.hpp>
|
![]() | Home | Libraries | People | FAQ | More |
boost::numeric::odeint::dense_output_runge_kutta<Stepper, stepper_tag> — The class representing dense-output Runge-Kutta steppers.
// In header: <boost/numeric/odeint/stepper/dense_output_runge_kutta.hpp> template<typename Stepper> class dense_output_runge_kutta<Stepper, stepper_tag> { public: // types typedef Stepper 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; // construct/copy/destruct dense_output_runge_kutta(const stepper_type & = stepper_type()); // public member functions 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 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; void toggle_current_state(void); template<typename StateIn> bool resize_impl(const StateIn &); };
![]() | Note |
---|---|
В этом шаге метод инициализации должен быть назван перед использованием метода do_step. |
Функциональность плотного вывода позволяет интерполировать решение между последующими точками интеграции с использованием промежуточных результатов, полученных в ходе вычислений. Эта версия работает на основе обычного степпера без пошагового контроля.
dense_output_runge_kutta
public member functionstemplate<typenameStateType> voidinitialize(constStateType&x0,time_typet0,time_typedt0);Инициирует степпера. Должен быть вызван, прежде чем do_step может быть использован для установки начальных условий и размера шага.
Параметры: |
|
template<typenameSystem> std::pair<time_type,time_type>do_step(Systemsystem);Делает один раз шаг.
![]() | Примечание |
---|---|
инициализация должна быть вызвана перед использованием этого метода для установки начальных условий x,t и шагов. |
Параметры: |
| ||
. Возвращение: | Пара со временем начала и окончания этапа интеграции. |
template<typenameStateOut>voidcalc_state(time_typet,StateOut&x)const;Рассчитывается раствор в промежуточной точке.
Параметры: |
|
template<typenameStateOut> voidcalc_state(time_typet,constStateOut&x)const;Рассчитывается раствор в промежуточной точке. Решает проблему пересылки.
Параметры:
| Время, в которое должно быть рассчитано решение, должно находиться в текущем временном интервале. |
| Выходная переменная, в которую записывается результат, может быть диапазоном усиления. |
template<typenameStateType>voidadjust_size(constStateType&x);Установите размер всех временных интервалов в степпере вручную.
Параметры: |
|
conststate_type¤t_state(void)const;Возвращает текущее состояние раствора.
Возвращает: | Текущее состояние раствора x(t). |
time_typecurrent_time(void)const;возвращает текущее время решения.
Возвращение: | Текущее время раствора т. |
conststate_type&previous_state(void)const;Возвращает последнее состояние раствора.
Возвращение: | Последнее состояние решения x(t-dt). |
time_typeprevious_time(void)const;Возвращает последний раз раствор.
Возвращение: | Последний раз решение t-dt. |
dt. |
Статья Class template dense_output_runge_kutta<Stepper, stepper_tag> раздела Chapter 1. Boost.Numeric.Odeint Header <boost/numeric/odeint/stepper/dense_output_runge_kutta.hpp> может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
:: Главная :: Header <boost/numeric/odeint/stepper/dense_output_runge_kutta.hpp> ::
реклама |