Большинство цифровых методов интеграции Эйлера страдают от суммарной ошибки округления, которая в конечном итоге приведет к «взрыву» симуляции. Вы можете исследовать современные методы цифровой интеграции, такие как Рунге-Кутта 4-го порядка или корректор-предсказатель.
Другое место, где моделирование проблемы n-body становится липким, - это когда два тела очень близко, например, луна с очень эксцентричной орбитой вокруг своей планеты. Если вы используете фиксированные приращения времени для моделирования, ошибка при больших изменениях угловой скорости может привести к ошибкам деления на нуль или делению на очень небольшие значения, которые приводят к взрыву моделирования. Использование переменной дельта-t, зависящей от угловой скорости, может быть полезным.
Эти предложения основаны на использовании многих таких симуляций, как проект для курса физики бакалавриата, который я взял в 1973 году, при тестировании различных методов цифровой интеграции. Рунге-Кутта и методы корректора предикторов существуют с самого начала цифровых вычислений и доступно несколько книг. См., , например., Цифровые рецепты: искусство научных вычислений by William H. Press, Brian P. Flannery, Saul A. Teukolsky и William T. Vetterling. (Cambridge University Press, 1989)
Не могли бы вы также опубликовать модуль 'Initial', поэтому это компилируется? – leftaroundabout
https://github.com/idontgetoutmuch/Leapfrog/blob/master/Initial.hs – idontgetoutmuch