Проектируем космическую ракету с нуля. Часть 2 — Полу-решение задачи двух тел

в 20:35, , рубрики: diy или сделай сам, задача двух тел, космонавтика, космос, математика

Содержание

Часть 1 — Задача двух тел

Трюкачество с заменой переменных

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

begin{equation*}
begin{cases}
m_{1}ddot{vec{r}}_{1} = vec{F}_{12}, (1)
\
m_{2}ddot{vec{r}}_{2} = -vec{F}_{12},
end{cases}
end{equation*}
где

$ vec{F}_{12}=Gdfrac{m_{1}m_{2}}{|vec{r}_{2} - vec{r}_{1}|^{3}}left( vec{r}_{2} - vec{r}_{1}right). $


Система выглядит простой, особенно если закрыть глаза и не смотреть на выражение для $ vec{F}_{12} $. Даже, на мгновение, начинает казаться что уравнения линейные и решить её — тривиальное дело. Но куб всю малину портит, и если развернуть всё это дело и записать в фазовых координатах, то у нас задача нелинейная и вообще в 12-мерном пространстве (не поленился, набрал):

begin{equation*}
begin{cases}
dot{x}_{1} = v_{1x}
\
dot{y}_{1} = v_{1y}
\
dot{z}_{1} = v_{1z}
\
dot{v}_{1x} = dfrac{G m_{2}left( x_{2} — x_{1} right)}{left( sqrt{(x_{2} — x_{1})^{2} + (y_{2} — y_{1})^{2} + (z_{2} — z_{1})^{2}} right)^{3} }
\
dot{v}_{1y} = dfrac{G m_{2}left( y_{2} — y_{1} right)}{left( sqrt{(x_{2} — x_{1})^{2} + (y_{2} — y_{1})^{2} + (z_{2} — z_{1})^{2}} right)^{3} }
\
dot{v}_{1z} = dfrac{G m_{2}left( z_{2} — z_{1} right)}{left( sqrt{(x_{2} — x_{1})^{2} + (y_{2} — y_{1})^{2} + (z_{2} — z_{1})^{2}} right)^{3} }
\

dot{x}_{2} = v_{2x}
\
dot{y}_{2} = v_{2y}
\
dot{z}_{2} = v_{2z}
\
dot{v}_{2x} = dfrac{G m_{1}left( x_{1} — x_{2} right)}{left( sqrt{(x_{2} — x_{1})^{2} + (y_{2} — y_{1})^{2} + (z_{2} — z_{1})^{2}} right)^{3} }
\
dot{v}_{2y} = dfrac{G m_{1}left( y_{1} — y_{2} right)}{left( sqrt{(x_{2} — x_{1})^{2} + (y_{2} — y_{1})^{2} + (z_{2} — z_{1})^{2}} right)^{3} }
\
dot{v}_{2z} = dfrac{G m_{1}left( z_{1} — z_{2} right)}{left( sqrt{(x_{2} — x_{1})^{2} + (y_{2} — y_{1})^{2} + (z_{2} — z_{1})^{2}} right)^{3} }

end{cases}
end{equation*}

Если бы мы так сначала записали, то за этими деревьями леса не увидели, но Слава Богу, Он поднял нас на Свою гору Сион и с неё прекрасно видно весь лес целиком (кстати, если сейчас на Сибирь из космоса посмотреть, увидим что лес горит). И интуиция нам подскажет что делать с уравнениями 1. Эм, сложим и справа будет ноль:

$ m_{1}ddot{vec{r}}_{1} + m_{2}ddot{vec{r}}_{2}=0 $

Ничего не напоминает? А так:

$ frac{m_{1}ddot{vec{r}}_{1} + m_{2}ddot{vec{r}}_{2}}{m_{1} + m_{2}}=0, (2) $

Центр масс системы:

$ vec{r}_{text{цм}}=frac{m_{1}vec{r}_{1} + m_{2}vec{r}_{2}}{m_{1} + m_{2}}, $

image
Центр масс двух тел. Отношения расстояний $ l_{1} $ и $ l_{2} $ равно отношению масс. Но в таком порядке, чтобы центр масс был ближе к более тяжелому телу.

а значит из 2 следует, что ускорение центра масс системы равно нулю:

$ ddot{vec{r}}_{text{цм}}=0, (3)$

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

$ dot{vec{r}}_{text{цм}}=vec{C}_{1}, $

$ vec{r}_{text{цм}}=vec{C}_{1}t + vec{C}_{2}, $

где $ vec{C}_{1}, vec{C}_{2} $ — векторные константы, которые являются (анализированием размерностей) начальной скоростью и начальным положением центра масс соответственно. Ну так и перепишем:

$ vec{r}_{text{цм}}=vec{v}_{text{цм0}}t + vec{r}_{text{цм0}}, $

начальные условия пересчитать несложно:

$ vec{r}_{text{цм0}}=frac{m_{1}vec{r}_{10} + m_{2}vec{r}_{20}}{m_{1} + m_{2}}, $

$ vec{v}_{text{цм0}}=frac{m_{1}vec{v}_{10} + m_{2}vec{v}_{20}}{m_{1} + m_{2}}, $

а $ vec{r}_{10}=vec{r}_{1}(0), vec{r}_{20}=vec{r}_{2}(0), vec{v}_{10}=dot{vec{r}}_{1}(0), vec{v}_{20}=dot{vec{r}}_{2}(0) $ — чтобы небыло недосказанности. Забыл в начале сказать, все эти начальные условия вместе с уравнениями 1 образуют задачу Коши, которая, как известно из раздела матана с диффурами, имеет чётко одно решение для каждого начального условия. А это хорошо, потому что бывают задачки посложнее, например, — краевые. Когда часть фазовых координат задается в одной точке, часть в другой точке. Бывает положение известно в начале, а скорость должна быть такой то в конце. А начальной скорости нет. И я чувствую, что такие задачки придется решать нам тоже, в будущем ;)

Можно даже проверить как центр масс движется, численно решив задачку. Старенький ноут, на котором я работаю, позволит это смоделировать:

image
Анимация движения тел и центра масс. Численное решение

Ну хорошо. Разобрались как двигается центр масс, но этого мало! Хочется узнать как тела двигаются. Еще разок взглянем на систему:

begin{equation*}
begin{cases}
m_{1}ddot{vec{r}}_{1} = Gdfrac{m_{1}m_{2}}{|vec{r}_{2} — vec{r}_{1}|^{3}}left( vec{r}_{2} — vec{r}_{1}right),
\
m_{2}ddot{vec{r}}_{2} = -Gdfrac{m_{1}m_{2}}{|vec{r}_{2} — vec{r}_{1}|^{3}}left( vec{r}_{2} — vec{r}_{1}right),
end{cases}
end{equation*}
или
begin{equation*}
begin{cases}
ddot{vec{r}}_{1} = Gdfrac{m_{2}}{|vec{r}_{2} — vec{r}_{1}|^{3}}left( vec{r}_{2} — vec{r}_{1}right),
\
ddot{vec{r}}_{2} = -Gdfrac{m_{1}}{|vec{r}_{2} — vec{r}_{1}|^{3}}left( vec{r}_{2} — vec{r}_{1}right),
end{cases}
end{equation*}
И там, и там справа разность $ vec{r}_{2} - vec{r}_{1}, $ so let's do it quick:

$ ddot{vec{r}}_{2} - ddot{vec{r}}_{1}=-Gdfrac{m_{1}}{|vec{r}_{2} - vec{r}_{1}|^{3}}left( vec{r}_{2} - vec{r}_{1}right) - Gdfrac{m_{2}}{|vec{r}_{2} - vec{r}_{1}|^{3}}left( vec{r}_{2} - vec{r}_{1}right), $

$ dfrac{d^{2}}{dt^{2}}left( vec{r}_{2} - vec{r}_{1}right)=-Gdfrac{(m_{1} + m_{2})}{|vec{r}_{2} - vec{r}_{1}|^{3}}left( vec{r}_{2} - vec{r}_{1}right), $

ранее мы обозначили разность как $ vec{r}_{12}=vec{r}_{2} - vec{r}_{1}, $ но теперь переобозначим $ vec{r}=vec{r}_{2} - vec{r}_{1}, $ так как придется (скажу наперед) еще работать с этой штукой не раз. Ну всё, запомнили, и тогда последнее равенство примет вид:

$ ddot{vec{r}}=-Gdfrac{(m_{1} + m_{2})}{r^{3}}vec{r}, $

либо так:

$ ddot{vec{r}}=-mu dfrac{vec{r}}{r^{3}}, (4)$

где $ mu=G(m_{1} + m_{2}) > 0, $ а $ vec{r} $ — относительное расстояние между телами. Начало вектора $ vec{r} $ в материальной точке номер 1, а конец в точке 2.

image
Вектор $ vec{r} $

По сути все эти трюки с центом масс и относительным расстоянием — линейное преобразование переменных:

begin{equation*}
begin{cases}
vec{r}_{1} = alpha_{1}vec{r}_{text{цм}} + beta_{1}vec{r},
\
vec{r}_{2} = alpha_{2}vec{r}_{text{цм}} + beta_{2}vec{r},
end{cases}
end{equation*}
но пока что записано наоборот:

begin{equation*}
begin{cases}
vec{r}_{text{цм}} = frac{m_{1}vec{r}_{1} + m_{2}vec{r}_{2}}{m_{1} + m_{2}},
\
vec{r} = vec{r}_{2} — vec{r}_{1},
end{cases}
end{equation*}
или
begin{equation*}
begin{cases}
vec{r}_{text{цм}} = dfrac{m_{1}}{(m_{1} + m_{2})}vec{r}_{1} + dfrac{m_{2}}{(m_{1} + m_{2})}vec{r}_{2},
\
vec{r} = — vec{r}_{1} + vec{r}_{2},
end{cases}
end{equation*}

можно и так:

$begin{bmatrix} dfrac{m_{1}}{(m_{1} + m_{2})} & dfrac{m_{2}}{(m_{1} + m_{2})} \ -1 & 1 end{bmatrix} begin{bmatrix} vec{r}_{1} \ vec{r}_{2} end{bmatrix}=begin{bmatrix} vec{r}_{text{цм}} \ vec{r} end{bmatrix} $

И теперь домножив на обратную матрицу слева (либо каким другим способом решить эту систему), можно выразить:

begin{equation*}
begin{cases}
vec{r}_{1} = vec{r}_{text{цм}} — dfrac{m_{2}}{m_{1} + m_{2}}vec{r}, (5)
\
vec{r}_{2} = vec{r}_{text{цм}} + dfrac{m_{1}}{m_{1} + m_{2}}vec{r}.
end{cases}
end{equation*}

Это преобразование позволило нам разбить задачу на две независимые: отдельно найти движение центра масс и отдельно относительное расстояние. А через них уже выразить движение в глобальной системе координат. Так что пол задачи мы уже решили — как движется центр масс мы знаем. Теперь решив 4 задача будет считаться полностью решенной. Но это уже в следующий раз.

Сейчас же, еще следует добавить анализ уравнений 5. В случае, когда одно из тел будет намного массивнее другого (прим. Земля и Человек, или Земля и яблоко Человека). Примем первое тело массивным, второе — не очень: $ m_{1} >> m_{2} $ или $ dfrac{m_{2}}{ m_{1}} << 1, $ что значит $ dfrac{m_{2}}{ m_{1}}=0.000001 approx 0. $

В этом случае:

$ vec{r}_{text{цм}}=frac{m_{1}vec{r}_{1} + m_{2}vec{r}_{2}}{m_{1} + m_{2}}=dfrac{m_{1}}{m_{1}}frac{vec{r}_{1} + dfrac{m_{2}}{m_{1}}vec{r}_{2}}{1 + dfrac{m_{2}}{m_{1}}} approx frac{vec{r}_{1} + 0vec{r}_{2}}{1 + 0}=vec{r}_{1}, $

— что означает сосредоточение центра масс системы прямо в массивном теле $ m_{1}, $

begin{equation*}
begin{cases}
vec{r}_{1} = vec{r}_{text{цм}} — dfrac{1}{m_{1}}dfrac{m_{2}}{1 + dfrac{m_{2}}{m_{1}}}vec{r} = vec{r}_{text{цм}} — dfrac{m_{2}}{m_{1}}dfrac{1}{1 + 0}vec{r},
\
vec{r}_{2} = vec{r}_{text{цм}} + dfrac{1}{m_{1}}dfrac{m_{1}}{1 + dfrac{m_{2}}{m_{1}}}vec{r} = vec{r}_{text{цм}} + dfrac{m_{1}}{m_{1}}dfrac{1}{1 + 0}vec{r}.
end{cases}
end{equation*}
Окончательно:
begin{equation*}
begin{cases}
vec{r}_{1} = vec{r}_{text{цм}},
\
vec{r}_{2} = vec{r}_{text{цм}} + vec{r}.
end{cases}
end{equation*}
Теперь, если перенести исходную систему координат в центр масс, получим:
begin{equation*}
begin{cases}
vec{r}_{1} = 0,
\
vec{r}_{2} = vec{r}.
end{cases}
end{equation*}
То бишь, мы связали новую координатную систему с Землей. И Земля в своей собственной коорд. системе неподвижна. Вектор $vec{r} $ уже здесь является просто радиус вектором, но в то же время остается и относительным расстоянием между телами.

Так что в следующей статье, решая это уравнение:

$ ddot{vec{r}}=-mu dfrac{vec{r}}{r^{3}}, $

можно трактовать $ vec{r} $ как положение спутника в системе координат связанной с Землей например.
Хотя решив его, это совершенно необязательно. Решение будет для двух произвольных тел (произвольные массы).

Продолжение следует…

Литература:

Балк М.Б. Элементы динамики космического полета, М.: Наука, Глав.ред.физ.-мат.лит.,1965. — 338с.

Автор: nickname21

Источник


* - обязательные к заполнению поля