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

Class template runge_kutta_cash_karp54

Boost , Chapter 1. Boost.Numeric.Odeint , Header <boost/numeric/odeint/stepper/runge_kutta_cash_karp54.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_kutta_cash_karp54

boost::numeric::odeint::runge_kutta_cash_karp54 — The Runge-Kutta Cash-Karp method.

Synopsis

// In header: <boost/numeric/odeint/stepper/runge_kutta_cash_karp54.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_kutta_cash_karp54 : public boost::numeric::odeint::explicit_error_generic_rk< StageCount, Order, StepperOrder, ErrorOrder, State, Value, Deriv, Time, Algebra, Operations, Resizer >
{
public:
  // types
  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_typ;
  // construct/copy/destruct
  runge_kutta_cash_karp54(const algebra_type & = algebra_type());
  // public member functions
  template<typename System, typename StateIn, typename DerivIn,
           typename StateOut, typename Err>
    void do_step_impl(System, const StateIn &, const DerivIn &, time_type,
                      StateOut &, time_type, Err &);
  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 StateIn> void adjust_size(const StateIn &);
};

Description

Метод Runge-Kutta Cash-Karp является одним из стандартных методов решения обычных дифференциальных уравнений, см.en.wikipedia.org/wiki/Cash-Karp_methods. Метод является явным и соответствует концепции Error Stepper. Контроль размера шага обеспечивается, но непрерывный выход не доступен для этого метода.

Этот класс происходит от explicit_error_stepper_base и наследует свой интерфейс через CRTP (текущий повторяющийся шаблон шаблона). Кроме того, это происходит отexplicit_error_generic_rk, который является общим алгоритмом Рунге-Кутта с оценкой ошибок. Для получения более подробной информации см. explicit_error_stepper_base иexplicit_error_generic_rk.

Template Parameters

  1. ФамилияГосударство

    Тип государства.

  2. имяЗначение=двойное

    Тип ценности.

  3. ИмяПроисхождение=Государство

    Тип, представляющий временную производную от государства.

  4. ИмяВремя=Значение

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

  5. имя типаАлгебра=имя типаалгебра_диспетчер<Состояние>::алгебра_тип

    Тип алгебры.

  6. typenameOperations=typenameoperations_dispatcher<State>::operations_type

    The operations type.

  7. ИмяResizer=Первоначально_resizer

    Тип политики резизера.

runge_kutta_cash_karp54 public construct/copy/destruct

  1. runge_kutta_cash_karp54constalgebra_type&алгебра=алгебра_type];
    Конструирует классrunge_kutta_cash_karp54. Этот конструктор может быть использован в качестве конструктора по умолчанию, если алгебра имеет конструктор по умолчанию.

    Параметры:

    алгебра

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

runge_kutta_cash_karp54 public member functions

  1. шаблонимя типаСистема,имя типаПроисхождение,имя типаПроисхождение,имя типаПроисхождениепустотаdostep_impl
системасистема,констконст&конств,констконстконстконст [174 Этот метод выполняет один шаг. Производнаяdxdtвв моментtпередается способу. Результат обновляется неуместно, следовательно, вход вви выход виз. Кроме того, оценка ошибки хранится вxerr.do_step_implиспользуется явной_error_stepper_base.

Параметры:

dt

Размер шага.

dxdt

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

в

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

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

система

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

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

xerr

Результат оценки ошибки записан в xerr.

  • шаблон<типовое имя,типовое имяStateIn,типовое имяDerivIn,типовое имяStateOut>void

    dostep_implсистемасистема,const&const&constconstconstconst[3 Этот метод выполняет один шаг. Производнаяdxdtизвв моментtпередается способу. Результат обновляется неуместно, следовательно, вход вви выход вв. Доступ к этой функциональности шага обеспечивается с помощью явного_stepper_base иdo_step_implне должен называться напрямую.

    Параметры:

    Размер шага.

    dxdt

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

    в

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

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

    система

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

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

  • шаблон<имя типаStateIn>voidadjust_sizeconstStateIn&x;
    Отрегулируйте размер всех времен в шагу вручную.

    Параметры:

    [688]

    Выводится состояние, из которого выводится размер временной величины, подлежащей изменению.


  • PrevUpHomeNext

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




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



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


    реклама


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

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