4.2. ТОЧНОСТЬ МЕТОДА РЕШЕНИЯ УРАВНЕНИЙ ДВИЖЕНИЯ ЧАСТИЦ
Рассмотрим простую модель, иллюстрирующую метод с перешагиванием. Это модель простого гармонического осциллятора, которая описывается дифференциальным уравнением второго порядка
Уравнение (4.1) имеет решения
Конечно-разностные уравнения метода с перешагиванием
имеют вид
Вычисления начинаются с некоторого момента
с начальными значениями
и Сначала по известному х, определяют силу и вычисляют
из уравнения для ускорения, затем
вычисляют из уравнения для скорости. Это дает новое х, и процесс повторяется во времени снова и снова. Для устойчивости
Рис. 4.1. Зависимость о от
простого гармонического движения, полученная методом с перешагиванием для уравнения в конечных разностях. Частота
согласуется с
при малых
но она больше, чем
при увеличении
Для
решение становится комплексным с нарастающими и затухающими корнями (это и есть численная неустойчивость); одна ветвь распадается на четные и нечетные шаги, проявляя сдвиг фаз
уравнения центрированы во времени. Подставим конечноразностное приближение в однородное уравнение движения (4.1), решим его аналитически и сравним результат с точным. Необходимо решить однородное уравнение
Это — стандартное конечно-разностное уравнение, которое можно легко решить подстановкой вида
где А — начальное значение;
неизвестно. Подставляя
в (4.6), получаем уравнение для частоты
График (4.8) показан на рис. 4.1. Видно, что для
что и требовалось. Однако видно, кроме того, что как только
первоначально полностью действительное решение для
становится комплексным с нарастающими и затухающими корнями, что указывает на численную неустойчивость. Определим величину фазовой ошибки для малых
(Амплитудная ошибка равна нулю для
При
можно
разложить в ряд и получить выражение
дающее квадратичный член ошибки.
Суммарная фаза после
шагов равна
так что итоговая фаза
Если предположить, что итоговая ошибка равна, например, 1/24 рад, то получим соотношение для числа шагов
что при
составит 1000 шагов, около 16 периодов, а при
шагов, около 2 периодов. Если возможно увеличение ошибки до 1 рад, то соответственно при
программа дает верные результаты в течение
шагов, что составляет 384 периода, а при
шагов, или 42 периода. Следовательно, ограничение допустимой ошибки малой величины сокращает число шагов и периодов; увеличение шага увеличивает ошибку как куб размера шага. Обычным компромиссом является значение
при этом используется от 1000 до 10 000 шагов, а иногда и несколько большее их число, если позволяет постановка задачи.
Задачи
(см. скан)