Каково аналитическое решение задачи двух тел в замкнутой форме для проверки результатов ее численного интегрирования?

Цель состоит в том, чтобы аналитически изучить движение двух небесных тел. Какова закрытая форма задачи двух тел, если я должен был решить ее аналитически, не используя технику численного приближения?

Примером, когда это было бы полезно, является вопрос из книги Ханспетера Шауба «Аналитическая механика космических систем» .

Напишите численное моделирование, которое интегрирует дифференциальные уравнения движения в уравнении. (9.45) с использованием схемы интегрирования Рунге-Кутты четвертого порядка. Используя подпрограмму задачи (b), сравните ответ численного интегрирования с аналитическим решением двух тел.

(9,45) р ¨ "=" мю р 3 р "=" мю р 2 р ^

Не буду печатать ответ прямо сейчас, но именно на этот вопрос есть ответ — ну, почти в каждом учебнике по орбитальной механике.
Чего вам не хватает в этой статье в Википедии? См. также ссылки на другие статьи там.
@Uwe Чего мне не хватает, так это того, как происходит преобразование набора элементов для определения движения планеты в произвольной системе отсчета.

Ответы (2)

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


Согласно этому комментарию, я знаю, что где-то на этом сайте (или в Astronomy SE ) у меня была дискуссия, где мне впервые объяснили, что орбиты Кеплера имеют аналитические решения, которые вы можете записать для времени как функции положения , хотя мы по-прежнему необходимо использовать численные методы (например, метод Ньютона) для определения положения как функции времени. (см. также Как Ньютон и Кеплер (на самом деле) сделали это? )

Если кто-то найдет его раньше меня, пожалуйста, не стесняйтесь добавить сюда ссылку, спасибо!

Уравнение 27 орбиты Кеплера из Википедии; Свойства уравнения траектории

т "=" а а мю ( Е е грех Е )

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

Отношения между Е и настоящая аномалия θ "=" арктический 2 ( у , Икс ) является

загар θ 2 "=" 1 + е 1 е загар Е 2

и решение для Е :

Е ( θ ) "=" 2 арктический 1 е 1 + е загар θ 2 .

подключаясь к первому уравнению (но не записывая все):

т ( θ ) "=" а а мю ( Е ( θ ) е грех Е ( θ ) )

Давайте попробуем численно проверить этот удивительный результат. Обратите внимание, что с а "=" 1 и мю "=" 1 период 2 π .

Последний график внизу слева показывает, что аналитический т ( θ ) на основе θ с численно интегрированной орбиты соответствует времени, используемому в численном расчете для е "=" 0,8 эллиптическая орбита. Будут числовые сбои или сингулярности на конечных точках и для е "=" 1 но, кажется, проверить красиво!

численное интегрирование эллиптической орбиты e=0,8

проверка аналитического t(theta) против численного интегрирования эллиптической орбиты e=0,8

Скрипт Python:

import numpy as np
import matplotlib.pyplot as plt
from scipy.integrate import odeint as ODEint

def deriv(X, t):
    x, v = X.reshape(2, -1)
    acc = -x * ((x**2).sum())**-1.5
    return np.hstack((v, acc))

halfpi, pi, twopi = [f*np.pi for f in (0.5, 1, 2)]

e = 0.8
a = 1.0
mu = 1.0
r_peri, r_apo = a*(1.-e), a*(1.+e)
v_peri, v_apo = [np.sqrt(2./r - 1./a) for r in (r_peri, r_apo)]
T = twopi * np.sqrt(a**3/mu)

X0 = np.array([r_peri, 0, 0, v_peri])
X0 = np.array([-r_apo, 0, 0, -v_apo])
times = np.linspace(-T/2., T/2., 1001)

answer, info = ODEint(deriv, X0, times, full_output=True)

x, y = answer[1:-1].T[:2]
theta = np.arctan2(y, x)
E = 2. * np.arctan(np.sqrt((1.-e)/(1.+e)) * np.tan(theta/2))
t = a * np.sqrt(a/mu) * (E - e * np.sin(E))

if True:
    plt.figure()
    plt.subplot(2, 1, 1)
    plt.plot(x, y)
    plt.plot([0], [0], 'ok')
    plt.gca().set_aspect('equal')
    plt.title('y vs. x numerical')
    plt.subplot(2, 1, 2)
    plt.plot(times[1:-1], x)
    plt.plot(times[1:-1], y)
    plt.xlim(-pi, pi)
    plt.title('x(t) and y(t) numerical')
    plt.show()

    plt.subplot(2, 2, 1)
    plt.title('theta(t_numerical)')
    plt.plot(times[1:-1], theta)
    plt.xlim(-pi, pi)
    plt.ylim(-pi, pi)
    plt.gca().set_aspect('equal')
    plt.subplot(2, 2, 2)
    plt.title('E_analytic(theta_numerical)')
    plt.plot(E, theta)
    plt.xlim(-pi, pi)
    plt.ylim(-pi, pi)
    plt.gca().set_aspect('equal')
    plt.subplot(2, 2, 3)
    plt.title('theta(t_analytic)')
    plt.plot(t, theta)
    plt.xlim(-pi, pi)
    plt.ylim(-pi, pi)
    plt.gca().set_aspect('equal')
    plt.subplot(2, 2, 4)
    plt.title('t_analytic(t_numerical)')
    plt.plot(t, times[1:-1])
    plt.xlim(-pi, pi)
    plt.ylim(-pi, pi)
    plt.gca().set_aspect('equal')
    plt.show()
Спасибо за этот очень информативный ответ! У меня только один маленький вопрос, который может быть глупым; Я вижу, что вы использовали ODE45 для интегрирования орбиты задачи двух тел. Как проверить правильность орбиты с помощью аналитического решения задачи?
Я обновил этот пост изображением, поясняющим, что я имею в виду под своим предыдущим комментарием.
@John Первое примечание: для численного интегрирования я использовал odeint SciPy , который выбирает между «1: adams (нежесткий), 2: bdf (жесткий)» для метода интегрирования». Я не знаю, как это сравнивается с ODE45 MatLab, но для такая легкая нежесткая задача, как эта, я думаю, что любой интегратор даст хорошие результаты.Есть также метод, называемый RK45 en.wikipedia.org/wiki/…
@Джон, теперь перейдем к вашему вопросу о вашем вопросе и его разъяснении; До сих пор мы не знаем, что такое «аналитическое решение двух тел», является ли оно р ( θ ) показано в другом ответе или также включает т ( θ ) как мне показано здесь. Вы показываете только небольшой фрагмент скриншота. Это не лучший способ задать вопрос Stack Exchange, раскрывая понемногу. Если вы можете больше рассказать о том, что именно вам дано, то другим будет легче решить, как действовать дальше. Но я предполагаю, что они имеют в виду сравнение результатов.
Спасибо за ваш ответ. Причина, по которой я не разместил остальную часть вопроса, потому что это не имеет значения. Части а) и б) связаны с преобразованием классических элементов орбиты в декартову орбитальную позицию и наоборот. Однако никакого аналитического решения не приводится или его либо просят вывести (думаю, автор предполагает, что мы его уже знаем). Я обновил вопрос, добавив уравнение. (9.45), на который он тоже ссылается. Я надеюсь, что теперь стало понятнее, и приношу свои извинения за недопонимание.
@Джон, я обновил твой вопрос; не рекомендуется использовать скриншоты текста, мы должны потратить время на их ввод. Одна из причин заключается в том, что люди с ослабленным зрением могут использовать другие инструменты для чтения текста, но скриншот бесполезен. Я добавил уравнение, используя MathJax, и вы увидите, что вторая форма — это то, что я использовал в своем численном интегрировании. Я не совсем уверен, что еще вам нужно ответить, пожалуйста, не стесняйтесь продолжать обсуждение здесь! Однако мне интересно, к чему относится «задача (б)» в цитируемом тексте.
Я не знал об этом, спасибо, что указали на это. Обязательно последует. Я имел в виду, что предположим, что мы численно проинтегрировали уравнение 9.45 и получили несколько хороших графиков орбит. Как я могу проверить правильность этих графиков, используя аналитическое решение уравнения? и какой будет аналитическая форма?
@Джон, я не могу читать мысли автора, и у меня нет под рукой копии книги в эти выходные, чтобы прочитать ее. Мое последнее уравнение является аналитическим решением, хотя оно для т ( θ ) а не для θ ( т ) , другой ответ показывает аналитическое решение для р ( θ ) хотя и не р ( т ) , но не читая текста, как я могу вам сказать , что автор имеет в виду под "аналитическим решением двух тел"? Этот ответ сравнивает его аналитическое решение с его численным решением на последнем графике. Я мог бы также построить р н ты м е р я с а л против θ н ты м е р я с а л и сравните его с
@John выражение в другом ответе. Но об этом ли говорит автор книги? Из вашего крошечного фрагмента я не могу сказать. Я думаю, что это все, что я могу здесь сказать, может быть, кто-то еще может добавить еще один ответ. Вам придется читать дальше, чтобы узнать, как применить решение с одним телом к ​​проблеме с двумя телами, как я уже упоминал в своем ответе.
Понятно! Спасибо за ваш ответ!

Расстояние от центра притяжения орбиты может быть выражено как функция истинной аномалии (угла), определяемой выражением р ( θ ) "=" а 1 е 2 1 + е с о с ( θ ) , где а является большой полуосью и е является эксцентриситет.

Как вторая масса влияет на первую массу на основе гравитационного притяжения в этом уравнении?
Можно ли показать т ( θ ) также?
@John: система отсчета привязана к одной из двух масс (обычно к большей). В этой системе отсчета одна масса наблюдает, как другая масса вращается вокруг нее, как если бы первая масса была неподвижна. Оба объекта действуют друг на друга, но в системе отсчета кажется, что только одна масса движется по отношению к другой.
@uhoh: Время как функция истинной аномалии? Возможно, вы имеете в виду истинную аномалию как функцию времени? Или, может быть, время между двумя аномалиями?
@ Пол Насколько я помню т ( θ ) имеет фактическое аналитическое решение, но θ ( т ) не. Помню из обсуждения где-то на этом сайте несколько лет назад, сейчас попробую поискать. Для начала прокрутите вниз до уравнения 27 . Это эксцентричная аномалия Е но это начало.
Так как я всегда хотел попробовать это, я пошел вперед и написал это здесь .