Ученический конспект

Численное моделирование движения

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

План занятия

Теоретический урок
  • 0–5 мин. Математическая модель и численный алгоритм.
  • 5–15 мин. Движение по параболе: шаг и погрешность.
  • 15–27 мин. Маятник: накопление численной энергии.
  • 27–37 мин. Три тела: зависимость от начальных условий.
  • 37–40 мин. Обобщение и подготовка исследования.
Практическое занятие
  • Сопоставление точной и численной траекторий.
  • Изменение шага расчёта и сравнение алгоритмов.
  • Проверка закона сохранения энергии.
  • Численное сравнение близких начальных состояний.
  • Формулирование вывода с учётом ограничений модели.
Планируемый результат. Различать ошибки пошагового расчёта, искусственное изменение энергии и влияние малых различий в начальных условиях на дальнейшее движение.

Математическая модель и вычислительная процедура

Для описания движения используются координаты, скорость и ускорение. Известные законы механики позволяют записать уравнения движения, однако точные формулы зависимости координат от времени удаётся получить не всегда.

При численном моделировании движение рассчитывается последовательно, через небольшие промежутки времени. На каждом шаге по текущим координатам и скоростям определяется следующее состояние. Результат зависит не только от законов движения, но и от выбранного способа вычислений.

РеальнаясистемаМатематическиеуравненияЧисленныйалгоритмРасчёт ипрогноз

На каждом этапе возникает собственный источник неопределённости или ошибки.

Проверка программы (верификация) показывает, верно ли вычисления выполняются по заданным формулам. Проверка модели на соответствие реальности (валидация) отвечает на другой вопрос: достаточно ли верно выбраны сами законы и упрощения.

Метод Эйлера: вычисление движения по шагам

Время в численной модели разделяется на равные промежутки длительностью h. Координата и скорость вычисляются не для каждого мгновения, а для отдельных моментов времени. Такой способ называется разбиением времени на шаги (дискретизацией).

Метод Эйлера — один из простейших способов вычислить следующее состояние. Если в начале шага известны координата x, скорость v и ускорение a, то перемещение приближённо принимается равным vh, а изменение скорости — ah. Ускорение при необходимости рассчитывается по текущему положению и скорости.

xₙ₊₁ = xₙ + vₙh
vₙ₊₁ = vₙ + aₙh
tₙ₊₁ = tₙ + h
tₙtₙ₊₁Точное значениеШаг Эйлераошибкаxt

Схема для зависимости координаты от времени. На коротком промежутке плавная кривая заменяется отрезком, проведённым в направлении касательной. Разность между полученным и точным значениями составляет ошибку шага.

Ограничение метода. На одном шаге метод Эйлера использует скорость и ускорение в его начале. Если за это время они изменяются, возникает погрешность. Уменьшение шага обычно уменьшает ошибку, но увеличивает число вычислений.
Пример 1 · 10 минут

Движение тела, брошенного под углом к горизонту

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

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

aₓ = 0
aᵧ = −g
x(t) = v₀ cos(α) · t
y(t) = v₀ sin(α) · t − gt²/2
v₀αgxy

Точная траектория служит эталоном для проверки численного расчёта.

Дискретное обновление состояния

Пусть шаг времени равен h. Явный метод Эйлера использует значения скорости и ускорения в начале шага. В данном примере ускорение постоянно, поэтому скорость вычисляется точно в моменты сетки, но вертикальная координата — с систематической ошибкой.

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

xₙ₊₁ = xₙ + vₓ,ₙh
yₙ₊₁ = yₙ + vᵧ,ₙh
vₓ,ₙ₊₁ = vₓ,ₙ
vᵧ,ₙ₊₁ = vᵧ,ₙ − gh
Вывод погрешности после n шагов.

yₙ = nvᵧ,₀h − gh² · n(n−1)/2

y(tₙ) = nvᵧ,₀h − gh² · n²/2

yₙ − y(tₙ) = gh²n/2 = ghtₙ/2.

При фиксированном времени t уменьшение шага h вдвое уменьшает ошибку координаты вдвое. Погрешность здесь зависит от метода, а не от неточности значения g.

Модель: аналитическая и численная траектории

Точное решениеЭйлер

Точки численного решения соответствуют одинаковым интервалам времени. Сравнение выполняется в одни и те же моменты; после падения ниже уровня запуска траектория более не продолжается.

Вывод. Дискретизация заменяет непрерывную задачу конечной последовательностью вычислений. При наличии точного решения точность метода можно проверить непосредственно. Для явного метода Эйлера в этом примере накопленная погрешность положения пропорциональна шагу h.
Пример 2 · 12 минут

Пружинный маятник: искусственный рост энергии

Пружинный маятник состоит из груза массой m, прикреплённого к пружине жёсткостью k. Координата x отсчитывается от положения равновесия. При смещении груза пружина создаёт силу, направленную обратно к равновесию. Согласно закону Гука, её проекция равна F = −kx. Знак минус показывает противоположность направлений силы и смещения.

По второму закону Ньютона ma = F, следовательно, a = −(k/m)x. Чем дальше груз от положения равновесия, тем больше модуль ускорения, направленного к нему. Если отсутствуют трение и сопротивление, механическая энергия сохраняется: она переходит из потенциальной энергии пружины в кинетическую энергию груза и обратно.

F = −kx
ma = F
a = −(k/m)x
E = mv²/2 + kx²/2
mFxГруз смещён вправоСила направлена влевоРавновесие

Закон Гука: возвращающая сила пропорциональна отклонению от положения равновесия.

Чтобы проследить свойства численного метода без сложных коэффициентов, в компьютерном примере используются согласованные единицы с m = 1 и k = 1. Тогда ускорение получает вид a = −x, а энергия — E = (x² + v²)/2. Это частный выбор параметров пружинного маятника, а не общий закон для любого груза и пружины.

В начале расчёта груз находится при x = 1, скорость равна нулю. У идеального маятника энергия постоянна, однако явный метод Эйлера может систематически увеличивать её. Такое изменение обусловлено способом вычисления, а не появлением дополнительной силы.

a = −x
E = (x² + v²)/2 = const
xvТочный шаг: переход по дугеокружности постоянной энергии.Шаг Эйлера: перемещениевдоль касательной.Расстояние от центра возрастает.

На фазовой плоскости явный шаг Эйлера направлен по касательной к окружности постоянной энергии.

Расчёт движения двумя способами

На каждом шаге длительностью h необходимо рассчитать новую координату и новую скорость. Оба метода используют одно и то же ускорение a = −x. Различие заключается в том, какая скорость подставляется в формулу координаты.

Обычный метод Эйлера

В обеих формулах используются только значения xₙ и vₙ, известные в начале шага. Сначала вычисляются два новых значения, и только затем они заменяют старые.

xₙ₊₁ = xₙ + hvₙ
vₙ₊₁ = vₙ − hxₙ

Проверка сохранения энергии

Подстановка формул обычного метода Эйлера в выражение для энергии позволяет установить, возрастает ли она после одного вычислительного шага.

Расчёт изменения энергии за один шаг.
2Eₙ₊₁ = (xₙ + hvₙ)² + (vₙ − hxₙ)²

После раскрытия скобок слагаемые +2hxₙvₙ и −2hxₙvₙ сокращаются.

2Eₙ₊₁ = (1 + h²)(xₙ² + vₙ²)
Eₙ₊₁ = (1 + h²)Eₙ

Число 1 + h² больше единицы при любом положительном шаге h. Значит, после каждого шага расчётная энергия увеличивается. Уменьшение шага замедляет этот рост, но не устраняет его полностью.

Метод Эйлера — Кромера

В этом методе сначала обновляется скорость, а затем новая координата вычисляется уже по скорости vₙ₊₁. Именно порядок обновления меняет поведение расчёта. При достаточно небольшом шаге энергия остаётся в ограниченных пределах, хотя её вычисленное значение слегка колеблется.

vₙ₊₁ = vₙ − hxₙ
xₙ₊₁ = xₙ + hvₙ₊₁

Модель: накопление энергии и численная устойчивость

Точное решениеЭйлерЭйлер — Кромер

Сравниваются два способа расчёта одной модели маятника для пружинного маятника с m = 1 и k = 1. В обоих случаях используется ускорение a = −x.

Вывод. Разные способы пошагового расчёта одного и того же движения могут давать качественно разные результаты. Проверять необходимо не только отдельные положения, но и сохранение энергии за длительное время.
Пример 3 · 10 минут

Задача трёх тел и чувствительность к начальным условиям

Три материальные точки взаимодействуют по закону всемирного тяготения. Ускорение каждого тела определяется положением двух остальных тел. Поскольку их положения непрерывно изменяются, система уравнений связана: траектории рассчитываются совместно, а не как три независимые задачи.

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

F = G · m₁m₂ / r²
a = F / m

Здесь F — сила притяжения двух тел, m₁ и m₂ — их массы, r — расстояние между ними, G — гравитационная постоянная. На каждое тело действуют силы притяжения двух других тел. По сумме этих сил определяется ускорение, после чего рассчитываются новые скорости и координаты всех трёх тел.

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

Начало расчётаПоздний моментРасхождение

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

Численный эксперимент с двумя близкими системами

В анимации рассматриваются три тела одинаковой массы. Их исходное движение выбрано так, что при точных начальных данных получается траектория в форме восьмёрки. Во второй системе положение одного тела немного изменено. Обе системы рассчитываются одинаковым численным методом с одним и тем же шагом. Используется метод Верле, который хорошо подходит для расчёта движения под действием сил.

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

Модель: две почти одинаковые системы трёх тел

Первая системаВозмущённая система

Линии показывают недавние участки траекторий. Их расхождение иллюстрирует чувствительность к начальным данным, но требует проверки повторным расчётом с меньшим шагом.

Дополнительный пример: уход лёгкого тела из системы

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

Если после сближения лёгкое тело удаляется от пары и его энергия относительно центра масс пары становится положительной, оно может покинуть систему. Такой исход называют гравитационным выбросом. Он зависит от взаимного расположения тел и их скоростей; различие масс само по себе не гарантирует выброса.

Тяжёлая параПриближениеВозможный уход

Принципиальная схема взаимодействия. Форма траектории зависит от начальных условий и не совпадает с траекторией в численной модели.

Модель: лёгкое тело в поле движущейся тяжёлой пары

Тело 1: масса 20Тело 2: масса 12Тело 3: масса 0,12

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

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

Три источника различий между моделью и прогнозом

Погрешность дискретизации

Непрерывное движение вычисляется отдельными шагами. Для движения по параболе ошибка явно измеряется сопоставлением с точным решением.

Численная неустойчивость

Ошибки численного алгоритма могут усиливаться при последовательных вычислениях. Явный Эйлер искусственно увеличивает энергию пружинного маятника.

Динамическая чувствительность

Даже близкие точные решения самой математической системы могут расходиться. Это возможно в хаотических режимах задачи трёх тел.

Ограничения исходной модели

Допущения о сопротивлении, размерах тел и законах взаимодействия определяют, насколько математическая модель соответствует исследуемому явлению.

Проверка достоверности вычислительной модели

  1. Сопоставление с точным решением в доступном контрольном случае.
  2. Проверка законов сохранения и других математических постоянная величинаов.
  3. Сравнение решений при последовательном уменьшении шага.
  4. Сопоставление независимых численных методов.
  5. Оценка влияния погрешностей начальных условий и параметров.
  6. Отдельная оценка соответствия математических допущений действительности.
Основной тезис занятия. Известные уравнения движения и работающая программа не обеспечивают автоматически достоверный результат. Точность алгоритма, его устойчивость и предсказуемость самой системы требуют раздельного анализа.

Вопросы для самопроверки

  1. Почему в задаче о полёте тела удобно использовать аналитическую траекторию как эталон?
  2. Почему увеличение энергии маятника в методе Эйлера нельзя объяснить округлением?
  1. Почему совпадение двух численных расчётов не доказывает точность?
  2. Чем динамическая чувствительность отличается от численной неустойчивости?

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

На практическом занятии для каждой модели следует сформулировать предположение, выбрать измеряемую величину, провести несколько расчётов и объяснить полученный результат. Отдельно проверяются влияние шага, выбор способа расчёта и сохранение энергии.