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

Class template adams_bashforth_moulton

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

boost::numeric::odeint::adams_bashforth_moulton — The Adams-Bashforth-Moulton multistep algorithm.

Synopsis

// In header: <boost/numeric/odeint/stepper/adams_bashforth_moulton.hpp>
template<size_t Steps, 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,
         typename InitializingStepper = runge_kutta4< State , Value , Deriv , Time , Algebra , Operations, Resizer > >
class adams_bashforth_moulton {
public:
  // types
  typedef State                       state_type;
  typedef state_wrapper< state_type > wrapped_state_type;
  typedef Value                       value_type;
  typedef Deriv                       deriv_type;
  typedef state_wrapper< deriv_type > wrapped_deriv_type;
  typedef Time                        time_type;
  typedef Algebra                     algebra_type;
  typedef Operations                  operations_type;
  typedef Resizer                     resizer_type;
  typedef stepper_tag                 stepper_category;
  typedef InitializingStepper         initializing_stepper_type;
  typedef unsigned short              order_type;
  // construct/copy/destruct
  adams_bashforth_moulton(void);
  adams_bashforth_moulton(const algebra_type &);
  // public member functions
  order_type order(void) const;
  template<typename System, typename StateInOut>
    void do_step(System, StateInOut &, time_type, time_type);
  template<typename System, typename StateInOut>
    void do_step(System, const StateInOut &, time_type, time_type);
  template<typename System, typename StateIn, typename StateOut>
    void do_step(System, const StateIn &, time_type, const StateOut &,
                 time_type);
  template<typename System, typename StateIn, typename StateOut>
    void do_step(System, const StateIn &, time_type, StateOut &, time_type);
  template<typename StateType> void adjust_size(const StateType &);
  template<typename ExplicitStepper, typename System, typename StateIn>
    void initialize(ExplicitStepper, System, StateIn &, time_type &,
                    time_type);
  template<typename System, typename StateIn>
    void initialize(System, StateIn &, time_type &, time_type);
  // private member functions
  template<typename System, typename StateInOut>
    void do_step_impl1(System, StateInOut &, time_type, time_type);
  template<typename System, typename StateIn, typename StateInOut>
    void do_step_impl2(System, StateIn const &, time_type, StateInOut &,
                       time_type);
  template<typename StateIn> bool resize_impl(const StateIn &);
  // public data members
  static const size_t steps;
  static const order_type order_value;
};

Description

Метод Adams-Bashforth - многоступенчатый алгоритм предиктора-корректора с настраиваемым номером шага. Номер шага определяется как шаблон параметр Шаги, а затем использует результат предыдущих шагов. См. также en.wikipedia.org/wiki/Linear_multistep_method. В настоящее время поддерживается максимум Steps=8. Метод является явным и выполняет концепцию Stepper. Контроль размера шага или непрерывный выход не предусмотрены.

Этот класс происходит от алгебры_базы и наследует свой интерфейс через CRTP (текущий повторяющийся шаблон). Подробнее см. algebra_stepper_base.

Template Parameters

  1. Число шагов (максимально 8).

    The number of steps (maximal 8).

    [ORIG_END] -->
  2. typename State

    The state type.

  3. Тип значения.

    The value type.

    [ORIG_END] -->
  4. Тип, представляющий производную времени состояния.

    The type representing the time derivative of the state.

    [ORIG_END] -->
  5. Время представления независимой переменной - время.

    The time representing the independent variable - the time.

    [ORIG_END] -->
  6. Тип алгебры.

    The algebra type.

    [ORIG_END] -->
  7. Тип операций.

    The operations type.

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

    The resizer policy type.

    [ORIG_END] -->
  9. typename InitializingStepper = runge_kutta4< State , Value , Deriv , Time , Algebra , Operations, Resizer >

    The stepper for the first two steps.

adams_bashforth_moulton public construct/copy/destruct

  1. adams_bashforth_moulton(void);
    Constructs the adams_bashforth class.
  2. Параметры:

    algebra

    Копия алгебры производится и хранится.

    Parameters:

    algebra

    A copy of algebra is made and stored.

    [ORIG_END] -->

adams_bashforth_moulton public member functions

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

    заказ метода.

    Returns:

    order of the method.

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

    dt

    Размер шага.

    system

    Системная функция для решения, следовательно, r.h.s. обычного дифференциального уравнения. Он должен выполнить концепцию Простой системы.

    t

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

    x

    Состояние ODE, которое должно быть раскрыто. После вызова do_step результат обновляется в x.

    Parameters:

    dt

    The step size.

    system

    The system function to solve, hence the r.h.s. of the ordinary differential equation. It must fulfill the Simple System concept.

    t

    The value of the time, at which the step should be performed.

    x

    The state of the ODE which should be solved. After calling do_step the result is updated in x.

    [ORIG_END] -->
  3. template<typename System,typename stateInOut> void do_step(System, Происходит как StateInOut.
  4. Параметры:

    dt

    Размер шага.

    in

    Состояние ODE, которое должно быть раскрыто.

    out

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

    system

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

    t

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

    Parameters:

    dt

    The step size.

    in

    The state of the ODE which should be solved. in is not modified in this method

    out

    The result of the step is written in out.

    system

    The system function to solve, hence the r.h.s. of the ODE. It must fulfill the Simple System concept.

    t

    The value of the time, at which the step should be performed.

    [ORIG_END] -->
  5. > > > > > > >> > > > >> >> >> >>> >> >>> >>> Происходит как StateOut.
  6. template<typename StateType> void adjust_size(const StateType & x);
    Adjust the size of all temporaries in the stepper manually.

    Parameters:

    x

    A state from which the size of the temporaries to be resized is deduced.

  7. template<typename ExplicitStepper, typename System, typename StateIn>
      void initialize(ExplicitStepper explicit_stepper, System system,
                      StateIn & x, time_type & t, time_type dt);
    Initialized the stepper. Does Steps-1 steps with the explicit_stepper to fill the buffer.
    [Note]Note

    The state x and time t are updated to the values after Steps-1 initial steps.

    Parameters:

    dt

    The step size.

    explicit_stepper

    the stepper used to fill the buffer of previous step results

    system

    The system function to solve, hence the r.h.s. of the ordinary differential equation. It must fulfill the Simple System concept.

    t

    The initial time, updated in this method.

    x

    The initial state of the ODE which should be solved, updated after in this method.

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

    dt

    Размер шага.

    system

    Системная функция для решения, следовательно, r.h.s. обычного дифференциального уравнения. Он должен выполнить концепцию Простой системы.

    t

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

    x

    Состояние ODE, которое должно быть раскрыто. После вызова do_step результат обновляется в x.

    Parameters:

    dt

    The step size.

    system

    The system function to solve, hence the r.h.s. of the ordinary differential equation. It must fulfill the Simple System concept.

    t

    The value of the time, at which the step should be performed.

    x

    The state of the ODE which should be solved. After calling do_step the result is updated in x.

    [ORIG_END] -->

adams_bashforth_moulton private member functions

  1. template<typename System, typename stateInOut> void do_step_impl1(System,
  2. >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  3. template<имя типа

PrevUpHomeNext

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




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



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


реклама


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

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