График апогея и перигея космической станции Тяньгун-1, готовящейся к повторному входу и распаду Real Soon Now , изображен на этом графике (источник: Википедия ):
Почему графики шатаются? Это потому, что Земля не совсем сфера, а также из-за неравномерного распределения массы? Это атмосферный эффект? (Вероятно, не день/ночь, так как период составляет около 50 дней).
Это потому, что Земля не совсем сфера, а также из-за неравномерного распределения массы?
Да!
Это атмосферный эффект?
Нет.
Большой J2 Земли, или сплющенный член, всегда пытается нарушить орбиты спутников, и этот эффект сильнее всего проявляется на НОО.
Например, в этом ответе я показываю, как J2 постоянно продвигает аргумент перигея эллиптической орбиты, даже если она имеет нулевое наклонение. Это связано с тем, что эта сила изменяется как 1/r^4 по сравнению с монополем Земли, изменяющимся как 1/r^2.
Сначала я искал простое выражение для периода колебаний эксцентриситета, похожее на уравнение для смещения периода из-за J2 в этом ответе , но не смог найти ничего простого. Представляется, что это более сложная зависимость как от наклона, так и от большой полуоси и эксцентриситета.
Поэтому вместо этого я подумал о прямом численном интегрировании, как я делал здесь и здесь, но я чувствовал, что будет трудно доказать в ответе, что колебания не были просто числовым эффектом.
Поэтому я решил «обмануть» пропагатор SPG4, который работает в Скайфилде , для распространения спутниковых орбит, поскольку он достаточно надежен и стабилен для «нормальных» орбит, хотя и не очень точен.
Я сгенерировал «фальшивые TLE» ( не пытайтесь повторить это дома! ) на основе TLE TianGong-1 от 1 апреля 2017 года, обнулив условия сопротивления и несколько других параметров, оставив только размер орбиты (выраженный в среднем движении в оборотах). в день), наклон и эксцентриситет. Я распространял орбиту в течение 120 минут, начиная с полуночи UTC, в течение 100 дней. Каждый день я записываю максимальную и минимальную высоты. Поскольку я обнулил сопротивление, высота остается примерно постоянной.
Графики для наклона от 0 до 90 градусов с шагом 5 градусов, и они выглядят совершенно иначе друг от друга, и хотя они периодические, формы на самом деле не синусоидальные .
примечание: в вопросе на графике показана периодичность около 50 дней. Tiangong-1 имел наклон около 42,8 градусов. На графике ниже период при 40 градусах меньше 50 дней, а при 45 больше 50. Таким образом, мы можем, по крайней мере, подтвердить, что поведение воспроизводится расчетом.
Поскольку период этого LEO составляет менее 225 минут, SGP4 не использует поправки SDP4 «глубокий космос» для гравитации Солнца и Луны. Таким образом, остается только один эффект — отклонение гравитационного поля Земли от сферического.
Примечание. На этом рисунке используется SGP4 для распространения спутника на LEO в течение +/- 250 дней относительно эпохи TLE, и это неправильный способ использования TLE и SGP4 с какой-либо точностью. Я сделал это здесь только для того, чтобы показать грубые изменения орбиты, но для тщательных расчетов придерживайтесь времени, близкого к эпохе TLE . Вы можете прочитать этот отличный ответ , чтобы узнать больше об этом.
def make_fake_TLE(incdegs, ecc, altkm):
"don't try this at home!!!"
a = (6378+altkm) * 1000.
revsperday = 24.*3600/(twopi * np.sqrt(a**3 / GMe))
eccstr = '{:07d}'.format(int(1E+07 * ecc))
mmstr = '{:011.8f}'.format(revsperday)
incstr = '{:08.4f}'.format(incdegs)
L1 = "1 00000x xxxxxx 17091.00000000 +.00000000 +00000-0 +00000-3 0 0000"
L2 = "2 00000 " + incstr + " 000.0000 " + eccstr + " 000.0000 000.0000 " + mmstr + "000000"
return (L1, L2)
import numpy as np
import matplotlib.pyplot as plt
from skyfield.api import Loader, Topos, EarthSatellite
# Real TLE for TianGong-1 for April 1, 2017
# "1 37820U 11053A 17091.81919743 +.00033376 +00000-0 +21646-3 0 9994"
# "2 37820 042.7591 306.4244 0019428 259.0955 165.0115 15.75087641315914"
twopi = 2.*np.pi
GMe = 3.986E+14 # earth standard gravitational parameter
Re_km = 6378.
days = np.arange(500) - 250
minutes = np.arange(120)
delta_inc = 5. # degrees
n_inc = 19
incdegs = delta_inc * np.arange(n_inc)
### NOTE! The first time you run, set calculate to True! It takes several minutes to
# propagate all of the orbits, then saves the result as a .npy file
# Then, set calculate to False. Now you can play with plotting without
# doing any more calculations, so it's much much faster.
# https://matplotlib.org/gallery/lines_bars_and_markers/fill_between_demo.html
calculate = True
fname = 'incgroups19x-250to+250'
if calculate:
load = Loader('~/Documents/fishing/SkyData') # avoids multiple copies of large files
ts = load.timescale()
data = load('de421.bsp')
earth = data['earth']
ts = load.timescale()
incgroups = []
for incdeg in incdegs:
rmins, rmaxs = [], []
for day in days:
if not day%100:
print day,
time = ts.utc(2017, 4, day, 0, minutes) # starting April 1, 2017
L1, L2 = make_fake_TLE(incdeg, 0.0019, 350.)
TG1 = EarthSatellite(L1, L2)
TG1pos = TG1.at(time).position.km
r = np.sqrt((TG1pos**2).sum(axis=0))
rmins.append(r.min())
rmaxs.append(r.max())
rmins = np.array(rmins)
rmaxs = np.array(rmaxs)
incgroups.append([rmins, rmaxs])
incgroups = np.array(incgroups)
if fname:
q = np.stack(incgroups)
np.save(fname, q)
else:
if fname[-4].lower() != '.npy':
fname += '.npy'
incgroups = np.load(fname)
groups = incgroups.copy()
# post-process it
dh = 40.
for i, thing in enumerate(groups):
thing += dh*i
baseline = groups[0].mean()
groups = delta_inc * (groups-baseline)/dh
if True:
N = len(groups)
colors = plt.rcParams['axes.prop_cycle'].by_key()['color']
for i, (rmin, rmax) in enumerate(groups):
c = colors[i%len(colors)]
dh = 40. * i
plt.fill_between(days, rmin, rmax,
color=None, facecolor=c, linewidth=0)
plt.xlim(-250, 250)
plt.ylim(-3, 94)
plt.xlabel('days', fontsize=16)
plt.title('relative apo-peri envelopes', fontsize=16)
plt.ylabel('inclination (degs)', fontsize=16)
plt.show()
if True:
colors = plt.rcParams['axes.prop_cycle'].by_key()['color']
fig, (ax1, ax2) = plt.subplots(2, 1, sharex=True)
for i, (rmin, rmax) in enumerate(incgroups):
c = colors[i%len(colors)]
ax1.plot(days, rmin-Re_km, c)
ax1.plot(days, rmax-Re_km, c)
ax2.fill_between(days, rmin-Re_km, rmax-Re_km, color='b', facecolor=c)
ax1.set_xlim(-250, 250)
ax2.set_xlim(-250, 250)
plt.show()
После превосходного ответа ухоха нет необходимости в другом ответе, но с помощью моделирования мы можем увидеть эффект сжатия Земли и атмосферы.
Моделирование включает ньютоновское и релятивистское ускорения всех планет, Солнца и Луны.
Гравитационное поле Земли моделируется гравитационной моделью SGG-UGM-1 (рассчитанной с использованием полученной EGM2008 гравитационной аномалии и данных наблюдений GOCE), усеченной до степени и порядка 15 (чтобы сэкономить время работы, сохраняя при этом хорошую точность по сравнению с полной модель).
Для расчета плотности воздуха я использую модель NRLMSISE-00 вместе с обновленным файлом данных для солнечного и геомагнитного индексов. Актуальные индексы можно найти здесь: www.celestrak.com/spacedata/SW-All.txt.
Первый шаг включает в себя определение наилучшего баллистического коэффициента для минимизации определенного параметра моделирования. Через 36 минут программа находит баллистический коэффициент около (это не фиксировано, потому что коэффициент лобового сопротивления зависит от состава воздуха).
Теперь можно приступить к моделированию:
1) с одним TLE и пропагатором SGP4 CSpOC рассчитать начальное состояние (положение и скорость) спутника для эпохи TLE;
2) распространить это начальное состояние с помощью специально созданного пропагатора (мой пропагатор основан на 8(5,3) интеграторе Дорманда-Принса);
3) когда высота спутника упадет ниже 70 км, остановить симуляцию.
Вот результат, полученный с TLE 17080.91114878:
График показывает, что моя модель точно воспроизводит график Википедии.
Почему графики шатаются? Это потому, что Земля не совсем сфера, а также из-за неравномерного распределения массы?
Вы можете ответить на этот вопрос, смоделировав Землю, как если бы она была сферой; вот результат:
Колебания больше не проявляются (мы видим неравномерную скорость затухания, потому что плотность воздуха меняется в зависимости от солнечной активности).
Почему графики шатаются? Это атмосферный эффект?
Чтобы ответить на этот вопрос, нам просто нужно отключить атмосферу; вот результат:
Колебание точно такое же, как и у полной модели.
По сравнению с другими участками орбиты колебания кажутся сильно преувеличенными.
Я не эксперт в этом, но немного осмотревшись, у меня есть несколько теорий, и я нашел немного колебаний высот и эксцентриситетов для космических станций.
Я думаю, что из-за узловой прецессии станции период составляет около двух месяцев для МКС, я думаю, что это будет аналогично для Тяньгун. Я нашел это, просматривая этот ответ . Узловая прецессия - это наклон станции, колеблющейся из-за того, что Земля не является сферой.
Тогда я ожидаю, что средняя высота станции уменьшится при малых наклонах и поднимется при больших. Это, однако, не полностью объясняет, почему Апогей и Перигей противостоят друг другу в этом вопросе.
Это не правильно. Спасибо @MAH за то, что поймал это. Глупый я посмотрел/запомнил это неправильно.
Это также может быть связано с каким-то лунным влиянием на эти два месяца, но это только предположение.
На форумах nasaspaceflight они обнаружили более медленные колебания, что может быть связано.
Другое, гораздо более мелкомасштабное колебание, которое вы можете видеть на изображении ниже в правом верхнем углу, на самом деле связано со сжатием Земли. Высота каждый раз уменьшается над экватором, который толще остальной части земли. источник
Дэн Брайант
ооо