Почему интеграция Verlet лучше, чем Euler интеграция?

Кто-то может объяснить мне, почему интеграция Verlet лучше, чем Euler интеграция? И почему RK4 лучше, чем Verlet? Я не понимаю, почему это - лучший метод.

21
задан SiHa 31 October 2016 в 12:49
поделиться

3 ответа

Метод Эйлера - это схема интегрирования первого порядка, т.е. общая ошибка пропорциональна размеру шага. Однако он может быть численно неустойчивым, другими словами, накопленная ошибка может перегрузить вычисления, выдавая бессмыслицу. Обратите внимание, что эта неустойчивость может возникнуть независимо от того, насколько мал размер шага, линейна ли система или нет. Я не знаком с интегрированием Верле, поэтому не могу говорить о его эффективности. Но методы Рунге-Кутты отличаются от метода Эйлера не только размером шага.

По сути, они основаны на лучшем способе численной аппроксимации производной. Точные детали на данный момент от меня ускользают. В целом, метод Рунге-Кутты четвертого порядка считается рабочей лошадкой схем интегрирования, но у него есть некоторые недостатки. Он немного диссипативен, т.е. в расчет добавляется небольшой член, зависящий от первой производной, который напоминает дополнительное трение. Кроме того, он имеет фиксированный размер шага, что может затруднить достижение желаемой точности. В качестве альтернативы можно использовать схему с адаптивным размером шага, например, метод Рунге-Кутты-Фелберга, который обеспечивает точность пятого порядка за дополнительные 6 оценок функции. Это может значительно сократить время, необходимое для выполнения расчета, при одновременном повышении точности, как показано здесь.

13
ответ дан 29 November 2019 в 21:24
поделиться

Метод Верле хорошо подходит для моделирования систем с сохранением энергии, и причина в том, что он симплектический. Чтобы понять это утверждение, вы должны описать временной шаг в моделировании как функцию f, которая отображает пространство состояний в себя. Другими словами, каждый временной шаг может быть записан в следующей форме.

(x(t+dt), v(t+dt)) = f(x(t),v(t))

Функция шага по времени, f, метода Верле обладает особым свойством - она сохраняет объем пространства состояний. Мы можем записать это в математических терминах. Если у вас есть набор A состояний в пространстве состояний, то вы можете определить f(A) следующим образом

f(A) = {f(x)| для x в A}

Теперь предположим, что множества A и f(A) гладкие и хорошие, так что мы можем определить их объем. Тогда симплектическая карта f всегда будет удовлетворять условию, что объем f(A) равен объему A. (и это будет выполняться для всех хороших и гладких вариантов A). Этому удовлетворяет функция шага по времени метода Верле, и поэтому метод Верле является симплектическим методом.

Теперь последний вопрос. Почему симплектический метод хорош для моделирования систем с сохранением энергии, но я боюсь, что вам придется прочитать книгу, чтобы понять это.

15
ответ дан 29 November 2019 в 21:24
поделиться

Если все просто движется линейно, не имеет значения, какой метод вы используете, но когда происходит что-то интересное (т.е. нелинейное), вам нужно смотреть более внимательно, либо рассматривая нелинейность напрямую (verlet), либо делая меньшие временные шаги (rk4).

2
ответ дан 29 November 2019 в 21:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: