Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

Class template runge_kutta4_classic

Boost , Chapter 1. Boost.Numeric.Odeint , Header <boost/numeric/odeint/stepper/runge_kutta4_classic.hpp>

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

Boost C++ LibrariesHomeLibrariesPeopleFAQMore

PrevUpHomeNext

Class template runge_kutta4_classic

boost::numeric::odeint::runge_kutta4_classic — The classical Runge-Kutta stepper of fourth order.

Synopsis

// In header: <boost/numeric/odeint/stepper/runge_kutta4_classic.hpp>
template<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>
class runge_kutta4_classic : public explicit_stepper_base {
public:
  // types
  typedef explicit_stepper_base< runge_kutta4_classic< ... >,... > stepper_base_type;
  typedef stepper_base_type::state_type                            state_type;
  typedef stepper_base_type::value_type                            value_type;
  typedef stepper_base_type::deriv_type                            deriv_type;
  typedef stepper_base_type::time_type                             time_type;
  typedef stepper_base_type::algebra_type                          algebra_type;
  typedef stepper_base_type::operations_type                       operations_type;
  typedef stepper_base_type::resizer_type                          resizer_type;
  // construct/copy/destruct
  runge_kutta4_classic(const algebra_type & = algebra_type());
  // public member functions
  template<typename System, typename StateIn, typename DerivIn,
           typename StateOut>
    void do_step_impl(System, const StateIn &, const DerivIn &, time_type,
                      StateOut &, time_type);
  template<typename StateType> void adjust_size(const StateType &);
  // private member functions
  template<typename StateIn> bool resize_impl(const StateIn &);
};

Description

Метод Ранге-Кутта четвертого порядка является одним из стандартных методов решения обычных дифференциальных уравнений и широко используется, см. такжеen.wikipedia.org/wiki/Runge-Kutta_methodsМетод является явным и соответствует концепции Степпер. Контроль размера шага или непрерывный выход не предусмотрены. Этот класс реализует метод напрямую, поэтому общий алгоритм Рунге-Кутта не используется.

Этот класс происходит от explicit_stepper_base и наследует свой интерфейс через CRTP (текущий повторяющийся шаблон шаблона). Для более подробной информации см. явное_stepper_base.

Template Parameters

  1. Тип1.

    [!-- [ORIG_BEGIN]
    typenameState

    Тип состояния.

    [ORIG_END] -->[ORIG_END] -->
  2. Тип.

    [ORIG_END] -->
  3. Тип, добавляем к производному.

    [ORIG_END] -->
  4. Временная независимая проверка.

    typenameTime=Value

    Время, представляющее независимую переменную — время.

    [ORIG_END] -->[ORIG_END] -->
  5. Тип хадисов.

    [ORIG_END] -->
  6. Тип .

    [ORIG_END] -->
  7. Тип - ретрансляции.

    [ORIG_END] -->

runge_kutta4_classic public construct/copy/destruct

  1. Параметры

    algebra

    runge_kutta4_classic(constalgebra_type&algebra=algebra_type());Конструируетrunge_kutta4_classicкласс. Этот конструктор можно использовать в качестве конструктора по умолчанию, если в алгебре есть конструктор по умолчанию.

    Параметры:

    Копия алгебры сделана и хранится внутри эксплицитной_степной_базы

[ORIG_END][ORIG_END] -->

runge_kutta4_classic public member functions

  1. t

    [скрыто],

    [скрыто]

    [!-- [ORIG_BEGIN]
    template<typenameSystem,typenameStateIn,typenameDerivIn,
            typenameStateOut>
     voiddo_step_impl(Systemsystem,constStateIn&in,constDerivIn&dxdt,
                       time_typet,StateOut&out,time_typedt);
    Этот метод выполняет один шаг. Производноеdxdtизinв моментtпереходит к способу. Результат обновляется неуместно, следовательно, вход вinи выход вout. Доступ к этой функциональности шага обеспечивается с помощью явного_stepper_base иdo_step_implне должен называться напрямую.

    Параметры:

    Размер шага.

    dxdt

    Производная от x при t.

    in

    Состояние ОДЭ, которое должно быть решено. не изменяется в этом способе

    out

    Результат шага выписан.

    system

    Функция системы для решения, следовательно, r.h.s. ODE. Он должен соответствовать концепции простой системы.

    t

    Значение времени, в которое должен быть выполнен шаг.

    [ORIG_END] -->[ORIG_END] -->
  2. [ORIG_END] -->

runge_kutta4_classic private member functions

  1. <
    template<typenameStateIn>boolresize_impl(constStateIn&x);
    >

PrevUpHomeNext

Статья Class template runge_kutta4_classic раздела Chapter 1. Boost.Numeric.Odeint Header <boost/numeric/odeint/stepper/runge_kutta4_classic.hpp> может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Header <boost/numeric/odeint/stepper/runge_kutta4_classic.hpp> ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-20 01:21:09/0.0046529769897461/0