Модель материальной точки в поле притяжения (пример)

Введение: зачем моделировать материальную точку

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

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

Материальная точка - идеализированный объект с массой, у которого пренебрегают размерами и ориентацией; в моделях описывается лишь положением и скоростью.

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

Физическая постановка задачи

Рассматриваем материальную точку массы m, движущуюся в гравитационном поле сосредоточенной массы M. Основной силой, действующей на точку, является сила всемирного тяготения Ньютона, модуль которой задаётся формулой F=GMmr3r\mathbf{F} = -G\dfrac{M m}{r^{3}}\mathbf{r}.

В векторной форме сила равна F=ma\mathbf{F} = m\mathbf{a}, где вектор \mathbf{r} направлен от центров массы M к материальной точке. Направление силы противоположно вектору положения: сила всегда притягивает к центру.

Гравитационное поле - пространство вокруг массивного тела, в котором на другие массы действует сила притяжения, описываемая законом всемирного тяготения.

Для описания движения используем второй закон Ньютона, который связывает суммарную силу и ускорение тела: a=GMr3r\mathbf{a} = -G\dfrac{M}{r^{3}}\mathbf{r}. Совмещая его с выражением для силы гравитации, получаем выражение для ускорения точки: U(r)=GMmrU(r) = -G\dfrac{M m}{r}.

Потенциал и энергия системы

Гравитационная сила является потенциальной; соответствующая потенциальная энергия системы массы m в поле массы M задаётся выражением E=T+UE = T + U. Потенциальная энергия отрицательна и стремится к нулю при r\to\infty.

Полная механическая энергия системы равна сумме кинетической и потенциальной энергий: T=12mv2T = \tfrac{1}{2} m v^{2}, где кинетическая энергия выражается как L=mr×v\mathbf{L} = m\,\mathbf{r}\times\mathbf{v}. В отсутствие дополнительно действующих диссипативных сил полная энергия сохраняется.

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

Также вводят момент импульса (угловой момент) как вектор vcirc=GMrv_{\mathrm{circ}} = \sqrt{\dfrac{G M}{r}}. В центральном поле момент импульса сохраняется, это важно для анализа орбит.

Аналитические решения для простых орбит

Для специальных начальных условий возможны аналитические выражения. Например, для круговой орбиты радиуса r требуется, чтобы центростремительное ускорение компенсировало гравитацию, что даёт выражение для орбитальной скорости Torb=2πr3GMT_{\mathrm{orb}} = 2\pi\sqrt{\dfrac{r^{3}}{G M}}.

Период обращения при круговой орбите вычисляется по формуле vesc=2GMrv_{\mathrm{esc}} = \sqrt{\dfrac{2 G M}{r}}. Эти формулы полезны для проверки корректности численных симуляций и оценки временных масштабов задачи.

Пример: если на некотором расстоянии удерживается круговое движение, то скорость определяется формулой Torb=2πr3GMT_{\mathrm{orb}} = 2\pi\sqrt{\dfrac{r^{3}}{G M}}, а период обращения — формулой vesc=2GMrv_{\mathrm{esc}} = \sqrt{\dfrac{2 G M}{r}}. Проверка сохранения энергии и момента импульса позволяет убедиться в точности схемы.

Также можно получить выражение для скорости убегания (escape velocity), необходимой для ухода на бесконечность, — rn+1=rn+vnΔtr_{n+1} = r_{n} + v_{n}\,\Delta t.

Математическая модель для численного решения

Исходная задача сводится к системе обыкновенных дифференциальных уравнений второго порядка для координат \mathbf{r}(t): ускорение определяется как функция положения: U(r)=GMmrU(r) = -G\dfrac{M m}{r}. Для численного решения обычно переписывают систему в виде уравнений первого порядка для положения и скорости.

В декартовых координатах для двумерного случая ускорения по осям x и y выражаются формулой r=x2+y2r = \sqrt{x^{2}+y^{2}}, где расстояние до центра вычисляется по формуле r3=(x2+y2)3/2r^{3} = (x^{2}+y^{2})^{3/2} (и возведение в третью степень даёт r(t)=(x(t),  y(t),  z(t))\mathbf{r}(t) = (x(t),\;y(t),\;z(t))). Такое представление удобно для реализации в коде.

Консервативная сила - сила, работа которой по замкнутому пути равна нулю; для консервативной силы существует потенциальная энергия.

Математическая модель готова: система для численной интеграции — набор уравнений обновления состояния по времени, которые мы рассмотрим дальше.

Численные методы интегрирования

Простейшая явная схема — метод Эйлера. Обновление положения и скорости по шагу \Delta t задаётся формулами vn+1=vn+anΔtv_{n+1} = v_{n} + a_{n}\,\Delta t и rn+1=2rnrn1+an(Δt)2r_{n+1} = 2 r_{n} - r_{n-1} + a_{n}\,(\Delta t)^{2}. Метод прост, но неточен и может быстро накапливать ошибку энергии и рушить орбиты.

Более точная и широко используемая схема для механических задач — метод Верле (verlet) и его вариант velocity Verlet. Для позиции применяется формула vn+1=vn+12(an+an+1)Δtv_{n+1} = v_{n} + \tfrac{1}{2}(a_{n} + a_{n+1})\,\Delta t, а для скорости в схеме velocity Verlet используется ΔE(Δt)2\Delta E \sim (\Delta t)^{2}.

Пример: на практике velocity Verlet даёт лучшую сохранность энергии и сохранение симплектической структуры потока, поэтому его применяют для длительных симуляций орбит. Порядок аппроксимации для позиции и скорости составляет второй порядок по \Delta t, а ошибка энергии масштабируется как ax=GMx(x2+y2)3/2,ay=GMy(x2+y2)3/2a_{x} = -G\dfrac{M x}{(x^{2}+y^{2})^{3/2}},\quad a_{y} = -G\dfrac{M y}{(x^{2}+y^{2})^{3/2}}.

Выбор шага времени \Delta t критичен: он должен быть мал по сравнению с характерным временем движения, например долей периода обращения, чтобы обеспечить точность и стабильность.

Реализация в программировании и алгоритм

Структура простой симуляции включает: 1) представление состояния (вектор положения и скорости), 2) вычисление ускорения по формуле U(r)=GMmrU(r) = -G\dfrac{M m}{r} или компонентно r=x2+y2r = \sqrt{x^{2}+y^{2}}, 3) применение схемы обновления (например ΔE(Δt)2\Delta E \sim (\Delta t)^{2} и vn+1=vn+anΔtv_{n+1} = v_{n} + a_{n}\,\Delta t). В псевдокоде цикл выглядит как последовательность вычислений ускорения и обновлений состояний.

Важно учитывать числовую точность и единицы измерения: выбор типа данных (float/double), проверка на деление на ноль при близком подходе к центру, обработка столкновений или поглощения при r слишком малом (например добавляют условие стопа при r < r_min).

Пример реализации шага velocity Verlet для двумерного случая: вычислите ускорение по r=x2+y2r = \sqrt{x^{2}+y^{2}}, затем обновите положение по vn+1=vn+anΔtv_{n+1} = v_{n} + a_{n}\,\Delta t с использованием средней скорости, или примените полную формулу vn+1=vn+12(an+an+1)Δtv_{n+1} = v_{n} + \tfrac{1}{2}(a_{n} + a_{n+1})\,\Delta t и затем скорость по ΔE(Δt)2\Delta E \sim (\Delta t)^{2}.

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

Практические примеры и задания

Задание 1: смоделировать круговую орбиту и проверить, что вычисленная скорость близка к значению из Torb=2πr3GMT_{\mathrm{orb}} = 2\pi\sqrt{\dfrac{r^{3}}{G M}}, а период обращения — к vesc=2GMrv_{\mathrm{esc}} = \sqrt{\dfrac{2 G M}{r}}. Проанализировать зависимость ошибок от шага \Delta t.

Задание 2: исследовать свободное падение в направлении центра для различных начальных условий: прямой удар, орбитальная передача, и сравнить поведение схем Эйлера и Верле; оценивать сохранение энергии и момента импульса vcirc=GMrv_{\mathrm{circ}} = \sqrt{\dfrac{G M}{r}}.

Пример учебной задачи: начальные условия r(0) = (r_0,0), v(0) = (0,v_0). Для v_0 выбирают значения меньше, равные и больше Torb=2πr3GMT_{\mathrm{orb}} = 2\pi\sqrt{\dfrac{r^{3}}{G M}}. Наблюдают эллиптические, круговые и утекающие траектории соответственно; скорость ухода сравнивают с rn+1=rn+vnΔtr_{n+1} = r_{n} + v_{n}\,\Delta t.

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