Интеграция Leapfrog

Математическая концепция

В численном анализе метод скачкообразного интегрирования представляет собой метод численного интегрирования дифференциальных уравнений вида или эквивалентного вида , в частности , в случае динамической системы классической механики . х ¨ = г 2 х г т 2 = А ( х ) , {\displaystyle {\ddot {x}}={\frac {d^{2}x}{dt^{2}}}=A(x),} в ˙ = г в г т = А ( х ) , х ˙ = г х г т = в , {\displaystyle {\dot {v}}={\frac {dv}{dt}}=A(x),\;{\dot {x}}={\frac {dx}{dt}}=v,}

Сравнение свойств сохранения энергии интегрирования Эйлера и Leapfrog для N тел, вращающихся вокруг точечного источника массы. В обоих моделированиях используется один и тот же временной шаг.

Метод известен под разными названиями в разных дисциплинах. В частности, он похож на метод скоростного Верле , который является вариантом интегрирования Верле . Интеграция Leapfrog эквивалентна обновлению положений и скоростей в различных чередующихся временных точках, смещенных таким образом, что они « перепрыгивают » друг через друга. х ( т ) {\displaystyle x(t)} в ( т ) = х ˙ ( т ) {\displaystyle v(t)={\dot {x}}(t)}

Интеграция Leapfrog является методом второго порядка , в отличие от интегрирования Эйлера , которое является только методом первого порядка, но требует того же количества оценок функции на шаг. В отличие от интегрирования Эйлера, оно устойчиво для колебательного движения, пока временной шаг постоянен, и . [1] Δ т {\displaystyle \Дельта t} Δ т < 2 / ω {\displaystyle \Дельта t<2/\омега }

Используя коэффициенты Йошиды и применяя интегратор с перескакиванием несколько раз с правильными временными шагами, можно сгенерировать интегратор гораздо более высокого порядка.

Алгоритм

При интегрировании методом скачков уравнения для обновления положения и скорости имеют вид

а я = А ( х я ) , в я + 1 / 2 = в я 1 / 2 + а я Δ т , х я + 1 = х я + в я + 1 / 2 Δ т , {\displaystyle {\begin{aligned}a_{i}&=A(x_{i}),\\v_{i+1/2}&=v_{i-1/2}+a_{i}\,\Дельта t,\\x_{i+1}&=x_{i}+v_{i+1/2}\,\Дельта t,\end{aligned}}}

где — положение на шаге , — скорость или первая производная от , на шаге , — ускорение или вторая производная от , на шаге , и — размер каждого временного шага. Эти уравнения можно выразить в форме, которая также дает скорость на целых шагах: [2] х я {\displaystyle x_{i}} я {\displaystyle я} в я + 1 / 2 {\displaystyle v_{i+1/2\,}} х {\displaystyle x} я + 1 / 2 {\displaystyle i+1/2\,} а я = А ( х я ) {\displaystyle a_{i}=A(x_{i})} х {\displaystyle x} я {\displaystyle я} Δ т {\displaystyle \Дельта t}

х я + 1 = х я + в я Δ т + 1 2 а я Δ т 2 , в я + 1 = в я + 1 2 ( а я + а я + 1 ) Δ т . {\displaystyle {\begin{aligned}x_{i+1}&=x_{i}+v_{i}\,\Delta t+{\tfrac {1}{2}}\,a_{i}\,\Delta t^{\,2},\\v_{i+1}&=v_{i}+{\tfrac {1}{2}}(a_{i}+a_{i+1})\,\Delta t.\end{aligned}}}

Однако в этой синхронизированной форме временной шаг должен быть постоянным для поддержания стабильности. [3] Δ т {\displaystyle \Дельта t}

Синхронизированную форму можно перестроить в форму «кик-дрифт-кик»;

в я + 1 / 2 = в я + а я Δ т 2 , х я + 1 = х я + в я + 1 / 2 Δ т , в я + 1 = в я + 1 / 2 + а я + 1 Δ т 2 , {\displaystyle {\begin{align}v_{i+1/2}&=v_{i}+a_{i}{\frac {\Delta t}{2}},\\x_{i+1}&=x_{i}+v_{i+1/2}\Delta t,\\v_{i+1}&=v_{i+1/2}+a_{i+1}{\frac {\Delta t}{2}},\end{align}}}

который в основном используется там, где требуются переменные временные шаги. Разделение расчета ускорения на начало и конец шага означает, что если временное разрешение увеличивается в два раза ( ), то требуется только один дополнительный (вычислительно дорогой) расчет ускорения. Δ т Δ т / 2 {\displaystyle \Дельта t\rightarrow \Дельта t/2}

Одним из применений этого уравнения является моделирование гравитации, поскольку в этом случае ускорение зависит только от положения гравитирующих масс (а не от их скоростей), хотя чаще используются интеграторы более высокого порядка (такие как методы Рунге-Кутты ).

Метод Leapfrog Integrated имеет две основные сильные стороны применительно к задачам механики. Первая — это обратимость метода Leapfrog по времени . Можно интегрировать вперед n шагов, а затем изменить направление интегрирования и интегрировать назад n шагов, чтобы прийти к той же начальной позиции. Вторая сильная сторона — это его симплектическая природа, которая подразумевает, что он сохраняет (слегка измененную; см. симплектический интегратор ) энергию гамильтоновой динамической системы. [4] Это особенно полезно при вычислении орбитальной динамики, поскольку многие другие схемы интегрирования, такие как метод Рунге–Кутты (порядка 4) , не сохраняют энергию и позволяют системе существенно дрейфовать со временем.

Из-за своей обратимости во времени и того, что это симплектический интегратор , скачкообразное интегрирование также используется в гамильтоновом Монте-Карло , методе получения случайных выборок из распределения вероятностей, общая нормализация которого неизвестна. [5]

Алгоритмы Йошиды

Интегратор с чехардой можно преобразовать в интеграторы более высокого порядка, используя методы, разработанные Харуо Ёсидой. В этом подходе чехарда применяется к нескольким различным временным шагам. Оказывается, что когда правильные временные шаги используются последовательно, ошибки отменяются, и можно легко получить интеграторы гораздо более высокого порядка. [6] [7]

Интегратор Йошиды 4-го порядка

Один шаг интегратора Йошиды 4-го порядка требует четырех промежуточных шагов. Положение и скорость вычисляются в разное время. Требуется только три (вычислительно затратных) расчета ускорения.

Уравнения для интегратора 4-го порядка для обновления положения и скорости следующие:

х я 1 = х я + с 1 в я Δ т , в я 1 = в я + г 1 а ( х я 1 ) Δ т , х я 2 = х я 1 + с 2 в я 1 Δ т , в я 2 = в я 1 + г 2 а ( х я 2 ) Δ т , х я 3 = х я 2 + с 3 в я 2 Δ т , в я 3 = в я 2 + г 3 а ( х я 3 ) Δ т , х я + 1 х я 4 = х я 3 + с 4 в я 3 Δ т , в я + 1 в я 4 = в я 3 {\displaystyle {\begin{aligned}x_{i}^{1}&=x_{i}+c_{1}\,v_{i}\,\Дельта t,\\v_{i}^{1}&=v_{i}+d_{1}\,a(x_{i}^{1})\,\Дельта t,\\x_{i}^{2}&=x_{i}^{1}+c_{2}\,v_{i}^{1}\,\Дельта t,\\v_{i}^{2}&=v_{i}^{1}+d_{2}\,a(x_{i}^{2})\,\Дельта t,\\x_{i}^{3}&=x_{i}^{2}+c_{3}\,v_{i}^{2}\,\Дельта t,\\v_{i}^{3}&=v_{i}^{2}+d_{3}\,a(x_{i}^{3})\,\Дельта t,\\x_{i+1}&\эквивалент x_{i}^{4}=x_{i}^{3}+c_{4}\,v_{i}^{3}\,\Дельта t,\\v_{i+1}&\эквивалент v_{i}^{4}=v_{i}^{3}\\\end{aligned}}}

где — начальное положение и скорость, — промежуточное положение и скорость на промежуточном шаге , — ускорение в положении , а — конечное положение и скорость на одном шаге Йошиды 4-го порядка. х я , в я {\displaystyle x_{i},v_{i}} х я н , в я н {\displaystyle x_{i}^{n},v_{i}^{n}} н {\displaystyle n} а ( х я н ) {\displaystyle а(x_{i}^{n})} х я н {\displaystyle x_{i}^{n}} х я + 1 , в я + 1 {\displaystyle x_{i+1},v_{i+1}}

Коэффициенты и выведены в [7] (см. уравнение (4.6)) ( с 1 , с 2 , с 3 , с 4 ) {\displaystyle (c_{1},c_{2},c_{3},c_{4})} ( г 1 , г 2 , г 3 ) {\displaystyle (d_{1},d_{2},d_{3})}

ж 0 2 3 2 2 3 , ж 1 1 2 2 3 , с 1 = с 4 ж 1 2 , с 2 = с 3 ж 0 + ж 1 2 , г 1 = г 3 ж 1 , г 2 ж 0 {\displaystyle {\begin{aligned}w_{0}&\equiv -{\frac {\sqrt[{3}]{2}}{2-{\sqrt[{3}]{2}}}},\\w_{1}&\equiv {\frac {1}{2-{\sqrt[{3}]{2}}}},\\c_{1}&=c_{4}\equiv {\frac {w_{1}}{2}},c_{2}=c_{3}\equiv {\frac {w_{0}+w_{1}}{2}},\\d_{1}&=d_{3}\equiv w_{1},d_{2}\equiv w_{0}\\\end{aligned}}}

Все промежуточные шаги образуют один шаг, который подразумевает, что коэффициенты в сумме дают единицу: и . Обратите внимание, что положение и скорость вычисляются в разное время, а некоторые промежуточные шаги являются обратными по времени. Для иллюстрации этого приведем числовые значения коэффициентов: , , , Δ t {\displaystyle \Delta t} i = 1 4 c i = 1 {\textstyle \sum _{i=1}^{4}c_{i}=1} i = 1 3 d i = 1 {\textstyle \sum _{i=1}^{3}d_{i}=1} c n {\displaystyle c_{n}} c 1 = 0.6756 {\displaystyle c_{1}=0.6756} c 2 = 0.1756 {\displaystyle c_{2}=-0.1756} c 3 = 0.1756 {\displaystyle c_{3}=-0.1756} c 4 = 0.6756. {\displaystyle c_{4}=0.6756.}

Смотрите также

Ссылки

  1. ^ CK Birdsall и AB Langdon, Физика плазмы с помощью компьютерного моделирования , McGraw-Hill Book Company, 1985, стр. 56.
  2. ^ 4.1 Два способа написать чехарду
  3. ^ Скил, РД, «Переменный размер шага дестабилизирует метод Штёмера/Чехарда/Верле», BIT Numerical Mathematics , том 33, 1993, стр. 172–175.
  4. ^ Такерман, Марк Э. (2010). Статистическая механика: теория и молекулярное моделирование (1-е изд.). Oxford University Press. С. 121–124. ISBN 9780198525264.
  5. ^ Бишоп, Кристофер (2006). Распознавание образов и машинное обучение . Нью-Йорк: Springer-Verlag . С. 548–554. ISBN 978-0-387-31073-2.
  6. ^ "./Ch07.HTML".
  7. ^ ab Yoshida, Haruo (1990). «Построение симплектических интеграторов высшего порядка». Physics Letters A. 150 ( 5–7): 262–268. doi :10.1016/0375-9601(90)90092-3.
  • [1], Физика Университета Дрекселя
Retrieved from "https://en.wikipedia.org/w/index.php?title=Leapfrog_integration&oldid=1244408783"