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

Class template runge_kutta_fehlberg78

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

boost::numeric::odeint::runge_kutta_fehlberg78 — The Runge-Kutta Fehlberg 78 method.

Synopsis

// In header: <boost/numeric/odeint/stepper/runge_kutta_fehlberg78.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_fehlberg78 : 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_type;
  // construct/copy/destruct
  runge_kutta_fehlberg78(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 Fehlberg 78 является стандартным методом для высокоточных приложений. Метод является явным и соответствует концепции Error Stepper. Контроль размера шага обеспечивается, но непрерывный выход не доступен для этого метода.

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

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_kutta_fehlberg78 public construct/copy/destruct

  1. Параметры

[ORIG_END] -->

runge_kutta_fehlberg78 public member functions

[ORIG_END] -->
  • Параметры:

    [ODE]

    system

    Система СИД, СИЗО, r.h.s.

    out

    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не должен называться напрямую.

    Параметры:

    dt

    Размер шага.

    dxdt

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

    in

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

    out

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

    system

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

    t

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

    [ORIG_END] -->[ORIG_END] -->
  • x

    [!-- [ORIG_BEGIN]
    template<typenameStateIn>voidadjust_size(constStateIn&x);

    [
    typenameValue=double
    ] [
    typenameValue=double
    ] [
    typenameValue=double
    [
    typenameValue=double
    ] [
    typenameValue=double
    ] [
    typenameValue=double
    ] [[
    typenameValue=double
    ] [
    typenameValue=double
    ] [
    typenameValue=double
    ] [
    typenameValue=double
    ] [
    typenameValue=double
    ] [] [ Отрегулируйте размер всех времен в шагу вручную.

    Параметры:

    x

    Состояние, из которого выводится размер временной величины.

    [ORIG_END] -->[ORIG_END] -->

  • PrevUpHomeNext

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




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



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


    реклама


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

    Время компиляции файла: 2024-08-30 11:47:00
    2025-05-20 01:41:38/0.0071160793304443/1