Метод Стёрмера — Верле

Материал из testwiki
Перейти к навигации Перейти к поиску

Метод Стёрмера — Верле́ — численный метод решения задачи Коши для дифференциальных уравнений. Часто используется для нахождения траектории материальной точки, движущейся по закону x¨=a(x,t): для вычисления траекторий частиц в моделях молекулярной динамики и в компьютерных играх. Метод Верле более устойчив, чем более простой метод Эйлера, и имеет при этом другие качества, необходимые для моделирования физических процессов в реальном времени.

История и названия

Был использован[1] Исааком Ньютоном в первой книге «Начал» для доказательства второго закона Кеплера.

Назван в честь французского физика Лу Верле, который использовал метод для моделирования динамики молекул, и норвежского астрофизика Карла Стёрмера.

Метод (и эквивалентные ему) называется по-разному в зависимости от области применения[1][2]:

Основной алгоритм

Алгоритм Верле используется для вычисления следующего местоположения точки по текущему и прошлому, без использования скорости. Формула получается следующим образом. Записывается разложение в ряд Тейлора вектора x(t) местоположения точки в моменты времени (t+Δt) и (tΔt):

x(t+Δt)=x(t)+v(t)Δt+a(t)Δt22+b(t)Δt36+O(Δt4),
x(tΔt)=x(t)v(t)Δt+a(t)Δt22b(t)Δt36+O(Δt4),

где

x — координаты точки,
v — скорость,
a — ускорение,
b — рывок (производная ускорения по времени).

Сложив эти 2 уравнения и выразив x(t+Δt), получим

x(t+Δt)=2x(t)x(tΔt)+a(t)Δt2+O(Δt4).

Таким образом, значение радиус-вектора точки может быть вычислено без знания скорости.

Особенности

Основная особенность алгоритма состоит в возможности накладывать на систему точек различные ограничения. Например, можно связать некоторые из них твёрдыми стержнями заданной длины. При этом алгоритм работает следующим образом:

  1. Вычисляются новые положения тел (см. формулу выше).
  2. Для каждой связи удовлетворяется соответствующее ограничение, то есть расстояние между точками делается таким, каким оно должно быть.
  3. Шаг 2 повторяется несколько раз, тем самым все условия удовлетворяются (разрешается система условий).

Данный метод, несмотря на многократное повторение шага 2, очень эффективен.

Свойства

Метод является характерным методом геометрического численного интегрирования и обладает следующими свойствами[2][3]:

  • принадлежит классу одношаговых общих линейных методов;
  • имеет 2-й порядок точности;
  • является симметричным (самосопряжённым) интегратором;
  • является симплектическим интегратором;
  • сохраняет фазовый объём для ряда систем;
  • сохраняет линейные первые интегралы систем.

Может рассматриваться как:

  • метод Нюстрёма 2-го порядка;
  • композиция симплектического метода Эйлера с его сопряжённым;
  • расщепляющий метод для систем вида q˙=f(p), p˙=g(q);
  • разделённый метод Рунге—Кутты для систем q˙=f(q,p), p˙=g(q,p), заданный таблицами Шаблон:Не переведено00011/21/21/21/21/21/201/21/201/21/2

Применение

Популярность у разработчиков компьютерных игр метод получил в 2000 году с выходом игры Hitman: Codename 47.

Примечания

Шаблон:Примечания

Ссылки

Шаблон:Метод конечных разностей