Vida útil en órbita de un nanosatélite en una órbita de 350 km

Estaba tratando de escribir un programa muy simple para calcular el tiempo de vida en órbita de un nanosatélite. Obtuve la densidad de la atmósfera en función de la altitud de este sitio.

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

  • el programa utiliza el integrador rk4 simple con la tierra como esfera
  • programa encuentra arrastre = 1 / 2 C d ρ A v 2 , con C d como 2.2
  • el programa asume actividad solar media
  • el vector de estado se inicializa para la órbita circular
  • la densidad atmosférica se toma del enlace anterior y se interpola linealmente para las altitudes intermedias.

C d de acuerdo con este documento que acabo de leer dice que se puede tomar entre 2.0-2.2 La parte del programa que calcula la aceleración es la siguiente:

#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);

cuando ejecuto este programa, dentro de 70 días la órbita decae a menos de 100,0 km durante 350,0 km. Esto parece ser demasiado poco tiempo. ¿Estoy asumiendo que algo está mal o totalmente fuera de lugar aquí?

He supuesto una tierra esférica, la diferencia entre los polos y el ecuador es de apenas 22 km. Entonces, ¿la SSPO o la órbita ecuatorial hacen una diferencia para esta conclusión?

He agregado gráficos para varias altitudes de órbita circular.Órbita de varias altitudes

La densidad de la atmósfera puede variar dramáticamente dependiendo de la actividad del Sol que calienta y expande la atmósfera superior. Creo que esto ciertamente está en el estadio correcto. Intente simular satélites más grandes con tamaños y masas conocidos y vea si el tiempo es más largo de lo esperado. El arrastre escala como el tamaño al cuadrado pero la masa como el tamaño al cubo, por lo que la tasa delta-v debido al arrastre será área/masa o 1/tamaño.
De acuerdo, de hecho, es una pregunta suya donde se destaca la variabilidad de la resistencia. Soy consciente de eso. De hecho, al hacer una simulación con la actividad solar máxima, el tiempo de vida en órbita es de solo un par de días. Pero esto plantea una pregunta importante que significa que, en general, los nanosatélites tienen una vida útil de 6 meses, lo que significa que la mayoría de los nanosatélites están en una altitud mucho mayor.
La densidad de @uhoh la tomé como una tabla de búsqueda del enlace en la ecuación y la interpolación lineal para los valores intermedios. Todos los cálculos se realizan en km, kg y segundos. Encontré nanosatélites a 500, 600 km cuando busqué, con vidas en órbita de años. No fue capaz de encontrar Nanosats de 300-350 km.
@uhoh Como la mesa es bastante grande, pensé que no era una buena idea que me hicieran la pregunta. He puesto en cuestión la tabla que tengo. Y no tengo ningún problema en escribir el código, o el pseudocódigo también, pero eso hace que la pregunta sea larga. Es por eso que escribí suposiciones y pasos simples sobre cómo llegué allí. En todo el programa, solo es necesaria la aceleración experimentada en cada punto, por lo tanto, incluí el código de eso y todos los parámetros utilizados en el código están definidos. Con sus entradas he editado la pregunta.
¡Gracias! Aprecio mucho la edición, la revisaré dos veces hoy.
70 días no suena demasiado mal. El decaimiento de la ISS a 350 km está dentro de la misma magnitud, incluso si es un objeto mucho más masivo (cubo-cuadrado).

Respuestas (1)

Algunas revisiones generales de código.

En general, las suposiciones parecen estar bien, pero la forma en que se calcula realmente la descomposición podría ser más clara.


la densidad atmosférica se toma del enlace anterior y se interpola linealmente para las altitudes intermedias.

Si bien estoy de acuerdo en que este es un enfoque perfectamente razonable, la tabla tiene algunos valores escasos donde la interpolación lineal no es apropiada:

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

Sin embargo, en ese momento, su satélite ya se está estrellando contra el suelo en segundos de todos modos, por lo que probablemente esté bien.


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

Esto es más grande que cualquier radio de la Tierra, tanto los 6378,1 km ecuatoriales como los 6356,8 km polares. Las constantes más precisas no le cuestan nada y aclaran las suposiciones que hizo.


"Nano-satélite"

#define MASS (14) // 14 Kg

Los nanosatélites se definen normalmente como de menos de 10 kg.


gpdrag = g + drag

Estás sumando cantidades vectoriales juntas. Sin embargo, es difícil saberlo sin saber cómo se manejan los vectores en su código, y probablemente esté bien. Pero el manejo incorrecto de los vectores es una fuente importante de simulaciones incorrectas en general.


el programa asume actividad solar media

Esta no es una suposición segura, ya que la densidad varía mucho según la actividad solar en esas altitudes. Intente obtener datos tanto para mínimos como para máximos y ejecute su simulación para ambos. Debería haber una gran diferencia de por vida.


1.0 […] / 2.0

Esta no es una constante de punto flotante, es exactamente 1/2 por la fórmula de arrastre. La notación decimal aquí es confusa.


He supuesto una tierra esférica, la diferencia entre los polos y el ecuador es de apenas 22 km. Entonces, ¿la SSPO o la órbita ecuatorial hacen una diferencia para esta conclusión?

Según sus propias parcelas, 22 km o incluso solo 10 km marcan una gran diferencia en la vida útil.


Comprobación de cordura: ¿Las curvas tienen la misma forma después de descender por debajo de la misma altitud? ¡Sí!

prueba de cordura

Y finalmente, ¿70 días es un valor creíble para 350 km?

A partir de una figura en An Evaluation of Cube Sat Orbital Decay , esto parece razonable:

tasa de descomposición

gracias ! por la revisión y la fuente del decaimiento de la órbita de un satélite cúbico. ¡Ay! Tienes razón sobre la parte de 22 km. Hace una diferencia, pero luego creo que tengo que simular la Tierra como elipsoide y calcular la altitud de esa manera, pero realmente no estoy seguro de si esta altitud es geodésica o geocéntrica en la tabla: | ¡Pero creo que los resultados son algo sorprendentes para mí personalmente!