Метод Стёрмера — Верле: различия между версиями
[непроверенная версия] | [непроверенная версия] |
Реструктурирование |
Свойства |
||
Строка 3: | Строка 3: | ||
== История и названия == |
== История и названия == |
||
Был использован [[Ньютон, Исаак|Исааком Ньютоном]] в первой книге «[[Начала Ньютона|Начал]]» для доказательства [[Второй закон Кеплера|второго закона Кеплера]]. |
Был использован<ref>{{Статья|автор=Ernst Hairer, Christian Lubich, Gerhard Wanner|год=2003-5|doi=10.1017/S0962492902000144|issn=0962-4929, 1474-0508|язык=en|страницы=399–450|издание=Acta Numerica|заглавие=Geometric numerical integration illustrated by the Störmer–Verlet method|ссылка=https://www.cambridge.org/core/product/identifier/S0962492902000144/type/journal_article|том=12}}</ref> [[Ньютон, Исаак|Исааком Ньютоном]] в первой книге «[[Начала Ньютона|Начал]]» для доказательства [[Второй закон Кеплера|второго закона Кеплера]]. |
||
Назван в честь французского физика {{нп2|Верле, Лу|Лу Верле|fr|Loup Verlet}}, который использовал метод для моделирования динамики молекул, и норвежского астрофизика [[Стёрмер, Карл|Карла Стёрмера]]. |
Назван в честь французского физика {{нп2|Верле, Лу|Лу Верле|fr|Loup Verlet}}, который использовал метод для моделирования динамики молекул, и норвежского астрофизика [[Стёрмер, Карл|Карла Стёрмера]]. |
||
Метод (и эквивалентные ему) называется по-разному в зависимости от области применения<ref>{{Статья|автор=Ernst Hairer, Christian Lubich, Gerhard Wanner|год=2003-5|doi=10.1017/S0962492902000144|issn=0962-4929, 1474-0508|язык=en|страницы=399–450|издание=Acta Numerica|заглавие=Geometric numerical integration illustrated by the Störmer–Verlet method|ссылка=https://www.cambridge.org/core/product/identifier/S0962492902000144/type/journal_article|том=12}}</ref><ref>{{Книга|год=2006|isbn=9783540306634|место=Berlin/Heidelberg|издательство=Springer-Verlag|серия=Springer Series in Computational Mathematics|заглавие=Geometric Numerical Integration|ссылка=http://link.springer.com/10.1007/3-540-30666-8|часть=31}}</ref>: |
|||
* метод [[Стёрмер, Карл|Стёрмера]], метод [[Энке, Иоганн Франц|Энке]] — в астрономии; |
|||
* метод Верле — в молекулярной динамике; |
|||
* метод лягушки ({{Lang-en|leapfrog}})— в области [[Дифференциальное уравнение в частных производных|уравнений в частных производных]]. |
|||
== Основной алгоритм == |
== Основной алгоритм == |
||
Строка 31: | Строка 37: | ||
Данный метод, несмотря на многократное повторение шага 2, очень эффективен. |
Данный метод, несмотря на многократное повторение шага 2, очень эффективен. |
||
== Свойства == |
|||
Метод является характерным методом геометрического численного интегрирования и обладает следующими свойствами<ref>{{Книга|автор=Sergio Blanes, Fernando Casas|год=2016-06-06|isbn=9781482263428, 9781482263442|издательство=Chapman and Hall/CRC|серия=Monographs and Research Notes in Mathematics|заглавие=A Concise Introduction to Geometric Numerical Integration|ссылка=https://www.taylorfrancis.com/books/9781482263442}}</ref>: |
|||
* принадлежит классу одношаговых общих линейных методов; |
|||
* имеет 2-й порядок точности; |
|||
* является симметричным (самосопряжённым) интегратором; |
|||
* является [[Симплектическое многообразие|симплектическим]] интегратором; |
|||
* сохраняет фазовый объём для ряда систем; |
|||
* сохраняет линейные [[Первый интеграл|первые интегралы]] систем. |
|||
Может рассматриваться как: |
|||
* метод Нюстрома 2-го порядка; |
|||
* композиция симплектического метода Эйлера с его сопряжённым; |
|||
* расщепляющий метод для систем вида <math>\dot{\vec{q}} = f(\vec{p}),\ \dot{\vec{p}} = g(\vec{q})</math>; |
|||
* разделённый [[Метод Рунге — Кутты|метод Рунге—Кутты]] для систем <math>\dot{\vec{q}} = f(\vec{q},\vec{p}),\ \dot{\vec{p}} = g(\vec{q},\vec{p})</math>, заданный таблицами {{Не переведено|Бутчер, Джон Чарльз|Бутчера|en|John C. Butcher}}<math display="block">\begin{array}{c|cc} |
|||
0 & 0 & 0 \\ |
|||
1 & 1/2 & 1/2 \\ |
|||
\hline |
|||
& 1/2 & 1/2 \\ |
|||
\end{array} |
|||
\qquad |
|||
\begin{array}{c|cc} |
|||
1/2 & 1/2 & 0 \\ |
|||
1/2 & 1/2 & 0 \\ |
|||
\hline |
|||
& 1/2 & 1/2 \\ |
|||
\end{array}</math> |
|||
== Применение == |
== Применение == |
Версия от 18:57, 26 июня 2019
Метод Стёрмера—Верле́ — численный метод для решения задачи Коши для дифференциальных уравнений. Часто используется для нахождения траектории материальной точки, движущейся по закону : для вычисления траекторий частиц в моделях молекулярной динамики и в компьютерных играх. Метод Верле более устойчив, чем более простой метод Эйлера, и имеет при этом другие качества, необходимые для моделирования физических процессов в реальном времени.
История и названия
Был использован[1] Исааком Ньютоном в первой книге «Начал» для доказательства второго закона Кеплера.
Назван в честь французского физика Лу Верле?! (фр. Loup Verlet), который использовал метод для моделирования динамики молекул, и норвежского астрофизика Карла Стёрмера.
Метод (и эквивалентные ему) называется по-разному в зависимости от области применения[2][3]:
- метод Стёрмера, метод Энке — в астрономии;
- метод Верле — в молекулярной динамике;
- метод лягушки (англ. leapfrog)— в области уравнений в частных производных.
Основной алгоритм
Алгоритм Верле [1] используется для вычисления следующего местоположения точки по текущему и прошлому, без использования скорости. Формула получается следующим образом. Записывается разложение в ряд Тейлора вектора местоположения точки в моменты времени и .
Где
— координаты точки,
— скорость,
— ускорение,
— рывок (производная ускорения по времени).
Сложив эти 2 уравнения и выразив , получим:
Таким образом, значение радиус-вектора точки может быть вычислено без знания скорости.
Особенности
Основная особенность алгоритма состоит в возможности накладывать на систему точек различные ограничения. Например, можно связать некоторые из них твёрдыми стержнями заданной длины. При этом алгоритм работает следующим образом:
- Вычисляются новые положения тел (см. формулу выше).
- Для каждой связи удовлетворяется соответствующее ограничение, то есть расстояние между точками делается таким, каким оно должно быть.
- Шаг 2 повторяется несколько раз, тем самым все условия удовлетворяются (разрешается система условий).
Данный метод, несмотря на многократное повторение шага 2, очень эффективен.
Свойства
Метод является характерным методом геометрического численного интегрирования и обладает следующими свойствами[4]:
- принадлежит классу одношаговых общих линейных методов;
- имеет 2-й порядок точности;
- является симметричным (самосопряжённым) интегратором;
- является симплектическим интегратором;
- сохраняет фазовый объём для ряда систем;
- сохраняет линейные первые интегралы систем.
Может рассматриваться как:
- метод Нюстрома 2-го порядка;
- композиция симплектического метода Эйлера с его сопряжённым;
- расщепляющий метод для систем вида ;
- разделённый метод Рунге—Кутты для систем , заданный таблицами Бутчера[англ.]
Применение
Популярность у разработчиков компьютерных игр метод получил в 2000 году с выходом игры Hitman: Codename 47.
Ссылки
- Лекция «Реализация физики на основе интегрирования Верлета» на сайте GameDev.ru
- Перевод статьи «Advanced Character Physics»
- Пример реализации интегрирования Верле на Java
В другом языковом разделе есть более полная статья Verlet integration (англ.). |
- ↑ Ernst Hairer, Christian Lubich, Gerhard Wanner. Geometric numerical integration illustrated by the Störmer–Verlet method (англ.) // Acta Numerica. — 2003-5. — Vol. 12. — P. 399–450. — ISSN 1474-0508 0962-4929, 1474-0508. — doi:10.1017/S0962492902000144.
- ↑ Ernst Hairer, Christian Lubich, Gerhard Wanner. Geometric numerical integration illustrated by the Störmer–Verlet method (англ.) // Acta Numerica. — 2003-5. — Vol. 12. — P. 399–450. — ISSN 1474-0508 0962-4929, 1474-0508. — doi:10.1017/S0962492902000144.
- ↑ 31 // Geometric Numerical Integration. — Berlin/Heidelberg: Springer-Verlag, 2006. — (Springer Series in Computational Mathematics). — ISBN 9783540306634.
- ↑ Sergio Blanes, Fernando Casas. A Concise Introduction to Geometric Numerical Integration. — Chapman and Hall/CRC, 2016-06-06. — (Monographs and Research Notes in Mathematics). — ISBN 9781482263428, 9781482263442.