Физика / Механика

Метод Стёрмера — Верле для гармонического осциллятора

Схема Стёрмера — Верле обновляет координату осциллятора по двум соседним моментам и хорошо сохраняет структуру обратимого движения при малом шаге.

Опубликовано: Обновлено:

Формула

$$q_{n+1}=2q_n-q_{n-1}-h^2\omega^2q_n$$
Схема Стёрмер — Верле: шаг осциллятора
Стёрмер — Верле: шаг осциллятораСтёрмер — Верле: шаг осциллятора10,900,2q₂≈0,920930

x — t в секундах, y — q в условных единицах. Линия cos(2t), точка — q₂≈0,920930.

Обозначения

$q_n$
координата в узле n, м или единица q
$h$
шаг времени, с
$ω$
собственная угловая частота, рад/с
$q_{n-1}$
координата предыдущего узла, м или единица q

Условия применения

Уравнение должно быть записано как q''=a(q), а для приведённой формулы ускорение равно -ω²q. Нужны два начальных положения либо q0 и скорость, из которых q1 получают отдельным стартовым шагом. Для устойчивого гармонического теста требуется 0<hω<2.

Ограничения

Формула не является универсальным решателем произвольного первого порядка и не учитывает диссипацию без модификации. При hω≥2 гармонический режим становится неустойчивым. При нелинейном потенциале нужно заменить ускорение и отдельно контролировать энергию, фазовую ошибку и столкновения.

Подробное объяснение

Уравнение гармонического осциллятора второго порядка связывает ускорение с координатой: q''=-ω²q. Центральная разность (q_{n+1}-2q_n+q_{n-1})/h² аппроксимирует вторую производную с ошибкой порядка h². Перенос членов сразу даёт обновление Стёрмера—Верле.

Схема использует симметричное время: шаг вперёд и обращение времени имеют одну и ту же форму. Это отличает её от обычного Эйлера, который вносит направленное и часто накапливающееся искажение энергии. Для линейного осциллятора решение шага связано с матрицей площади, поэтому при допустимом h амплитуда остаётся ограниченной.

Устойчивость можно увидеть из характеристического уравнения r²-(2-h²ω²)r+1=0. Корни лежат на единичной окружности при 0<hω<2, а при hω>2 один корень по модулю больше единицы. На границе hω=2 возникает кратный корень −1 и возможен линейный рост огибающей. Это точная проверка для выбранной модели, а не универсальное условие всех нелинейных задач.

Начальный шаг важен: если q1 получить низкопорядковым способом, в долгом расчёте появится лишняя фазовая ошибка. Скорость можно восстановить центральной разностью (q_{n+1}-q_{n-1})/(2h), но это значение не совпадает с односторонним начальным импульсом на границе.

В молекулярной динамике и небесной механике вариант velocity Verlet хранит координаты и скорости; приведённая формула — position-Verlet для простого осциллятора. Названия leapfrog и Стёрмер—Верле близки, но конкретные переменные и порядок обновления нужно проверять по записи.

Как пользоваться формулой

  1. Приведите модель к q''=a(q), для гармонического случая задайте a(q)=-ω²q и согласуйте секунды с рад/с.
  2. Получите q0 и q1 из начальной координаты и скорости точным или согласованным стартовым шагом.
  3. На каждом шаге вычислите ускорение в q_n и примените q_{n+1}=2q_n-q_{n-1}+h²a(q_n).
  4. Проверьте условие hω<2 и сравните дискретную энергию с эталонным расчётом на меньшем шаге.
  5. Для нелинейного или многомерного случая измеряйте фазовую ошибку и энергию, а не только отдельные координаты.

Историческая справка

Схема Стёрмера — Верле объединяет центральные разности для координаты с обратимой по времени структурой движения. В современной литературе одно семейство записей встречается под именами Стёрмера — Верле и leapfrog; конкретные переменные могут быть расположены на целых и полуцелых временных узлах.

В геометрическом численном интегрировании конца XX–XXI века интерес к этой схеме связан с тем, что сохранение структуры даёт хорошее поведение на длинных интервалах. Работа Хайрера, Любиха и Ваннера рассматривает обратимость, симплектичность и объяснение через модифицированное уравнение. Позднейший анализ колебательных задач отдельно уточняет зависимость от произведения шага на высокую частоту. Такая история применения не означает точного сохранения исходной энергии при любом шаге.

Историческая линия формулы

Название объединяет работы Карла Стёрмера и Германа Верле, но конкретные leapfrog- и Verlet-записи имеют несколько эквивалентных вариантов. Корректно говорить о семействе симметричных интеграторов, а не об одной формуле с единственным автором.

Пример

Пусть q''=-4q, то есть ω=2 рад/с, q0=1, q1=cos(0,2)≈0,980066578, а h=0,1. Для шага от n=1 к n=2: q2=2·0,980066578-1-0,1²·4·0,980066578. Сначала 1,960133156-1=0,960133156; поправка 0,039202663; поэтому q2=0,920930493. Точное q(0,2)=cos(0,4)≈0,921060994, ошибка около -0,000130501. Условие устойчивости выполнено: hω=0,2<2. Все слагаемые имеют единицу координаты, поскольку h²ω² безразмерно. q1 выбран по точному решению только для теста шага; в приложении его строят из начальной скорости. Это различие важно: ошибка запуска может маскироваться под ошибку самой разностной формулы.

Частая ошибка

Не подставляйте q_{n+1} в правую часть до обновления. Не путайте ω с частотой в герцах: ω=2πν. Не стартуйте вторым узлом произвольно, иначе скорость и фаза не соответствуют задаче. Не применяйте hω<2 как гарантию точности нелинейной системы. Не называйте ограниченную энергию точным сохранением энергии.

Практика

Задачи с решением

Гармонический шаг

Условие. Для ω=1, q0=1, q1=0,995 и h=0,1 найдите q2.

Решение. q2=2·0,995-1-0,01·1²·0,995=0,98005.

Ответ. q2=0,98005.

Проверка устойчивости

Условие. Для ω=5 и h=0,3 определите, проходит ли условие устойчивости.

Решение. hω=1,5, что меньше 2.

Ответ. Да, линейный тест устойчив по условию 0<hω<2.

Калькулятор

Расчёт: Следующее q

Один шаг гармонического осциллятора q″=−ω²q; проверяется 0<hω<2.

Введите значенияКалькулятор покажет ответ, промежуточные величины и ход подстановки.
  • Один шаг гармонического осциллятора q″=−ω²q; проверяется 0<hω<2.

Дополнительные источники

  • https://www.unige.ch/~hairer/preprints/gniverlet.html
  • https://www.unige.ch/~hairer/preprints/varfrequ.pdf

Связанные формулы

Физика

Малые колебания около положения равновесия

$\omega^2=\frac{U''(q_0)}{m_{eff}}$

Частота малых колебаний около устойчивого равновесия определяется второй производной потенциальной энергии в точке равновесия и эффективной массой координаты.

Математика

Явный метод средней точки для задачи Коши

$k_1=f(t_n,y_n),\quad k_2=f(t_n+h/2,y_n+hk_1/2),\quad y_{n+1}=y_n+hk_2$

Явный метод средней точки делает пробный полушаг по Эйлеру, оценивает производную в середине и использует её на полном шаге. Это двухстадийная схема Рунге — Кутты второго порядка.

Математика

Метод Адамса — Башфорта второго порядка для ОДУ

$y_{n+1}=y_n+h\left(\frac32 f_n-\frac12 f_{n-1}\right)$

Двухшаговый метод Адамса — Башфорта использует два уже вычисленных наклона и получает явное приближение второго порядка с одним новым вызовом правой части.