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

Class template controlled_runge_kutta<ErrorStepper, ErrorChecker, StepAdjuster, Resizer, explicit_error_stepper_tag>

Boost , Chapter 1. Boost.Numeric.Odeint , Header <boost/numeric/odeint/stepper/controlled_runge_kutta.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 controlled_runge_kutta<ErrorStepper, ErrorChecker, StepAdjuster, Resizer, explicit_error_stepper_tag>

boost::numeric::odeint::controlled_runge_kutta<ErrorStepper, ErrorChecker, StepAdjuster, Resizer, explicit_error_stepper_tag> — Implements step size control for Runge-Kutta steppers with error estimation.

Synopsis

// In header: <boost/numeric/odeint/stepper/controlled_runge_kutta.hpp>
template<typename ErrorStepper, typename ErrorChecker, typename StepAdjuster,
         typename Resizer>
class controlled_runge_kutta<ErrorStepper, ErrorChecker, StepAdjuster, Resizer, explicit_error_stepper_tag> {
public:
  // types
  typedef ErrorStepper                    stepper_type;
  typedef stepper_type::state_type        state_type;
  typedef stepper_type::value_type        value_type;
  typedef stepper_type::deriv_type        deriv_type;
  typedef stepper_type::time_type         time_type;
  typedef stepper_type::algebra_type      algebra_type;
  typedef stepper_type::operations_type   operations_type;
  typedef Resizer                         resizer_type;
  typedef ErrorChecker                    error_checker_type;
  typedef StepAdjuster                    step_adjuster_type;
  typedef explicit_controlled_stepper_tag stepper_category;
  // construct/copy/destruct
  controlled_runge_kutta(const error_checker_type & = error_checker_type(),
                         const step_adjuster_type & = step_adjuster_type(),
                         const stepper_type & = stepper_type());
  // public member functions
  template<typename System, typename StateInOut>
    controlled_step_result
    try_step(System, StateInOut &, time_type &, time_type &);
  template<typename System, typename StateInOut>
    controlled_step_result
    try_step(System, const StateInOut &, time_type &, time_type &);
  template<typename System, typename StateInOut, typename DerivIn>
    controlled_step_result
    try_step(System, StateInOut &, const DerivIn &, time_type &, time_type &);
  template<typename System, typename StateIn, typename StateOut>
    boost::disable_if< boost::is_same< StateIn, time_type >, controlled_step_result >::type
    try_step(System, const StateIn &, time_type &, StateOut &, time_type &);
  template<typename System, typename StateIn, typename DerivIn,
           typename StateOut>
    controlled_step_result
    try_step(System, const StateIn &, const DerivIn &, time_type &,
             StateOut &, time_type &);
  template<typename StateType> void adjust_size(const StateType &);
  stepper_type & stepper(void);
  const stepper_type & stepper(void) const;
  // private member functions
  template<typename System, typename StateInOut>
    controlled_step_result
    try_step_v1(System, StateInOut &, time_type &, time_type &);
  template<typename StateIn> bool resize_m_xerr_impl(const StateIn &);
  template<typename StateIn> bool resize_m_dxdt_impl(const StateIn &);
  template<typename StateIn> bool resize_m_xnew_impl(const StateIn &);
};

Description

В этом классе реализовано управление размером шага для стандартных шаговиков Рунге-Кутта с оценкой ошибок.

Template Parameters

  1. typenameErrorStepper

    Тип степпера с оценкой ошибки должен соответствовать концепции ErrorStepper.

  2. typenameErrorChecker

    Проверка ошибок

  3. <
    typenameStepAdjuster
    >
  4. Ретрансляции.

    [ORIG_END] -->

controlled_runge_kutta public construct/copy/destruct

  1. controlled_runge_kutta(consterror_checker_type&error_checker=error_checker_type(),
                          conststep_adjuster_type&step_adjuster=step_adjuster_type(),
                          conststepper_type&stepper=stepper_type());
    Конструирует контролируемую ступеньку Рунге-Кутта.

    Параметры:

    controlled_runge_kutta(consterror_checker_type&error_checker=error_checker_type(),
                          conststep_adjuster_type&step_adjuster=step_adjuster_type(),
                          conststepper_type&stepper=stepper_type());

    Пример проверки ошибок.

    Пример лежащей в основе ступеньки.

    controlled_runge_kutta public member functions

    1. Параметры

      dt

      system

      Системы стерилизации, СИЗО, Р.Х.С.

      t

      Целостность.

      x

      []

      Одесса, д'О'Откр.

      [[] [

      ] [
      ]

      [

      ] [

      ] [

      ] [

      ] [

      ] [

      ]] [

      ] [

      ] []] [

      ] [

      ] [

      ] []] [

      ]
      [!-- [ORIG_BEGIN]
      template<typenameSystem,typenameStateInOut>
       controlled_step_result
       try_step(Systemsystem,StateInOut&x,time_type&t,time_type&dt);
      Пытается выполнить один шаг.

      Этот метод пытается сделать один шаг с размером шага dt. Если оценка ошибки велика, шаг отклоняется, и метод возвращается неудачно, а размер шага dt уменьшается. Если оценка ошибки приемлемо мала, шаг выполняется, успех возвращается и может быть увеличен, чтобы сделать шаги как можно больше. Этот метод также обновляет t, если выполняется шаг.

      Параметры:

      dt

      Размер шага. Обновлено.

      system

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

      t

      Стоимость времени. Обновлено, если шаг будет успешным.

      x

      Состояние ОДЭ, которое должно быть решено. Переписывается, если шаг удался.

      Возвращение:

      успех, если шаг был принят, провалиться иначе.

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

      Системный анализ, анализ, анализ, анализ ОДЭ.

      dt

      system

      [

      t

      См.

      x

      Состояние ОДЭ, []. Справочно, справка.

      , [b], [b],

      template<typenameSystem,typenameStateInOut> controlled_step_result try_step(Systemsystem,constStateInOut&x,time_type&t,time_type&dt);Пытается выполнить один шаг. Решает проблему пересылки и позволяет использовать диапазон усиления как state_type.

      Этот метод пытается сделать один шаг с размером шага dt. Если оценка ошибки велика, шаг отклоняется, и метод возвращается неудачно, а размер шага dt уменьшается. Если оценка ошибки приемлемо мала, шаг выполняется, успех возвращается и может быть увеличен, чтобы сделать шаги как можно больше. Этот метод также обновляет t, если выполняется шаг.

      Параметры:

      t

      dt

      Размер шага. Обновлено.

      system

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

      t

      Ценность времени. Обновлено, если шаг будет успешным.

      x

      Состояние ОДЭ, которое должно быть решено. Переписывается, если шаг удался. Может быть диапазон усиления.

    3. Возврат:

      успех, если шаг был принят, провалиться иначе.

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

      Системный анализ, анализ, анализ, анализ ОДЭ.

      t

      Цит.

      x

      [ODE, [].

    Вэб,

    Вэб,

    [ORIG_END] -->
  2. template<typenameSystem,typenameStateIn,typenameStateOut>
     boost::disable_if<boost::is_same<StateIn,time_type>,controlled_step_result>::type
     try_step(Systemsystem,constStateIn&in,time_type&t,StateOut&out,
              time_type&dt);
    Пытается выполнить один шаг.
    [Note]Примечание

    Этот метод отключается, если state_type = time_type, чтобы избежать двусмысленности.

    Этот метод пытается сделать один шаг с размером шага dt. Если оценка ошибки велика, шаг отклоняется, и метод возвращается неудачно, а размер шага dt уменьшается. Если оценка ошибки приемлемо мала, шаг выполняется, успех возвращается и может быть увеличен, чтобы сделать шаги как можно больше. Этот метод также обновляет t, если выполняется шаг.

    Параметры:

    system

    Размер шага. Обновлено.

    in

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

    out

    Используется для хранения результата шага.

    system

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

    t

    Ценность времени. Обновлено, если шаг будет успешным.

    Возврат:

    успех, если шаг был принят, провалиться иначе.

  3. dt

    in

    out

    стержень

    system

    Системный анализ, анализ, анализ, анализ ОДЭ.

    t

    См.

    , [b], [b],

    template<typenameSystem,typenameStateIn,typenameDerivIn, typenameStateOut> controlled_step_result try_step(Systemsystem,constStateIn&in,constDerivIn&dxdt, time_type&t,StateOut&out,time_type&dt);Пытается выполнить один шаг.

    Этот метод пытается сделать один шаг с размером шага dt. Если оценка ошибки велика, шаг отклоняется, и метод возвращается неудачно, а размер шага dt уменьшается. Если оценка ошибки приемлемо мала, шаг выполняется, успех возвращается и может быть увеличен, чтобы сделать шаги как можно больше. Этот метод также обновляет t, если выполняется шаг.

  4. Параметры:

    dt

    Размер шага. Обновлено.

    dxdt

    in

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

    out

    Используется для хранения результата шага.

    system

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

    t

    Ценность времени. Обновлено, если шаг будет успешным.

Возврат:

успех, если шаг был принят, провалиться иначе.

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

    [!-- [ORIG_BEGIN]
    template<typenameStateType>voidadjust_size(constStateType&x);
    template<typenameStateType>voidadjust_size(constStateType&x);
    [

    [[ORIG_END] -->

  • stepper_type&stepper(void);
    Возвращает пример нижележащего степпера.

    Возвращение:

  • conststepper_type&stepper(void)const;
    Возвращает пример нижележащего степпера.

    Возвращение:

  • controlled_runge_kutta private member functions

    1. <
      template<typenameSystem,typenameStateInOut>
       controlled_step_result
       try_step_v1(Systemsystem,StateInOut&x,time_type&t,time_type&dt);
      >
    2. <
      template<typenameStateIn>boolresize_m_xerr_impl(constStateIn&x);
      >
    3. <
      template<typenameStateIn>boolresize_m_dxdt_impl(constStateIn&x);
      >
    4. <
      template<typenameStateIn>boolresize_m_xnew_impl(constStateIn&x);
      >

    PrevUpHomeNext

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




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



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


    реклама


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

    Время компиляции файла: 2024-08-30 11:47:00
    2025-07-04 21:37:34/0.0085690021514893/0