Орбитальный срок службы наноспутника на орбите 350 км

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

ALT(km)         DENSITY(kg/m^3)
0               1.17E+00
20              9.49E-02
40              4.07E-03
60              3.31E-04
80              1.68E-05
100             5.08E-07
120             1.80E-08
140             3.26E-09
160             1.18E-09
180             5.51E-10
200             2.91E-10
220             1.66E-10
240             9.91E-11
260             6.16E-11
280             3.94E-11
300             2.58E-11
320             1.72E-11
340             1.16E-11
360             7.99E-12
380             5.55E-12
400             3.89E-12
420             2.75E-12
440             1.96E-12
460             1.40E-12
480             1.01E-12
500             7.30E-13
520             5.31E-13
540             3.88E-13
560             2.85E-13
580             2.11E-13
600             1.56E-13
620             1.17E-13
640             8.79E-14
660             6.65E-14
680             5.08E-14
700             3.91E-14

  • программа использует простой интегратор rk4 с землей как сферой
  • программа находит перетаскивание = 1 / 2 С г р А в 2 , с С г как 2.2
  • программа предполагает среднюю солнечную активность
  • вектор состояния инициализируется для круговой орбиты
  • плотность атмосферы берется из приведенной выше ссылки и линейно интерполируется для промежуточных высот.

С г согласно этой статье, которую я только что просмотрел, говорится, что можно взять между 2.0-2.2. Часть программы, которая вычисляет ускорение, выглядит следующим образом:

#define REARTH (6400.0)       // Radius of earth in Km
#define AREA   (0.1 * 1.0E-6) // 0.1 m^2
#define MASS   (14)           // 14 Kg
#define CD     (2.2)
// mu = 3.986004418E5 km^3/s^2
  pos = subm(sv, range(0, 2), range(0, 0));
  vel = subm(sv, range(3, 5), range(0, 0));

  r = length(pos);
  g = - mu / (r*r*r) * pos;
  alt = r - REARTH;
  // gd() returns density in kg/km^3 
  pho = gd(alt);

  drag = -  1.0 * CD * pho * AREA / MASS * vel * length(vel) / 2.0;

  dydx(0) = vel(0);
  dydx(1) = vel(1);
  dydx(2) = vel(2);

  gpdrag = g + drag;

  dydx(3) = gpdrag(0);
  dydx(4) = gpdrag(1);
  dydx(5) = gpdrag(2);

когда я запускаю эту программу, в течение 70 дней орбита уменьшается до менее 100,0 км на 350,0 км. Кажется, это слишком мало времени. Я предполагаю, что здесь что-то не так или совсем не так?

Я предположил, что земля сферическая, разница между полюсами и экватором всего 22 км. Итак, имеет ли значение для этого вывода значение SSPO или экваториальной орбиты?

Я добавил графики для различных высот круговой орбиты.Время жизни на орбите разной высоты

Плотность атмосферы может резко меняться в зависимости от активности Солнца, которое нагревает и расширяет верхние слои атмосферы. Я думаю, что это, безусловно, на правильном уровне. Попробуйте смоделировать более крупные спутники с известными размерами и массами и посмотрите, будет ли время больше, чем вы ожидаете. Перетащите масштабы как квадрат размера, а массу как размер в кубе, поэтому скорость дельта-v из-за сопротивления будет равна площади/массе или 1/размеру.
Согласен, на самом деле это заданный вами вопрос, в котором подчеркивается изменчивость сопротивления. Я знаю об этом. Фактически, при моделировании с пиковой солнечной активностью время жизни на орбите составляет всего пару дней. Но это поднимает важный вопрос, который означает, что обычно срок службы наноспутников составляет 6 месяцев, так что это означает, что большинство наноспутников находятся на гораздо большей высоте?
Плотность @uhoh Я взял в качестве справочной таблицы ссылку в уравнении и линейно интерполировал промежуточные значения. Все расчеты производятся в км, кг и секундах. Я нашел наноспутники на 500, 600 км, когда искал, с временем жизни на орбите в годах. Не смог найти наносат 300-350км.
@uhoh Поскольку таблица довольно большая, я подумал, что это не очень хорошая идея, чтобы задавать вопрос. Я задал вопрос о таблице, которая у меня есть. И у меня нет проблем с написанием кода или псевдокода, но это делает вопрос длинным. Вот почему я написал предположение и простые шаги, как я туда попал. Во всей программе необходимо только ускорение, испытываемое в каждой точке, поэтому я включил его код, и все параметры, используемые в коде, находятся в определениях. С вашим вкладом я отредактировал вопрос.
Спасибо! Я очень ценю редактирование, я проверю его сегодня.
70 дней не звучит слишком странно. Распад МКС на 350 км находится в пределах той же величины, даже если это гораздо более массивный объект (куб-квадрат).

Ответы (1)

Некоторый общий код-ревью.

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


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

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

0               1.17E+00
20              9.49E-02
40              4.07E-03

Однако в этот момент ваш спутник уже врезается в землю в течение нескольких секунд, так что, вероятно, все в порядке.


#define REARTH (6400.0) // Radius of earth in Km

Это больше, чем любой радиус Земли, как экваториальный 6378,1 км, так и полярный 6356,8 км. Более точные константы ничего вам не стоят и проясняют, какие предположения вы сделали.


«Наноспутник»

#define MASS (14) // 14 Kg

Наноспутники обычно весят менее 10 кг.


gpdrag = g + drag

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


программа предполагает среднюю солнечную активность

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


1.0 […] / 2.0

Это не константа с плавающей запятой, это точно 1/2 по формуле перетаскивания. Десятичная запись здесь сбивает с толку.


Я предположил, что земля сферическая, разница между полюсами и экватором всего 22 км. Итак, имеет ли значение для этого вывода значение SSPO или экваториальной орбиты?

На ваших собственных участках 22 км или даже 10 км имеют большое значение для продолжительности жизни.


Проверка работоспособности: имеют ли кривые одинаковую форму после падения ниже одной и той же высоты? Да!

санитарная проверка

И, наконец, 70 дней — это правдоподобное значение для 350 км?

Судя по рисунку в An Evaluation of Cube Sat Orbital Decay , это действительно выглядит разумно:

скорость распада

Спасибо ! за обзор и источник затухания орбиты кубсата! Ах! вы правы насчет части 22 км. Это имеет значение, но тогда я думаю, что мне нужно смоделировать землю как эллипсоид и рассчитать высоту таким образом, но тогда я действительно не уверен, является ли эта высота геодезической или геоцентрической высотой в таблице: | Но я предполагаю, что результаты несколько удивительны лично для меня!