2 ecuaciones de movimiento de cuerpo en 3D

¿Cómo se escriben las ecuaciones de movimiento de 2 cuerpos en 3D como un sistema de ecuaciones diferenciales?

Respuestas (2)

s t a t mi = [ r X , r y , r z , v X , v y , v z ]

s t a t mi ˙ = [ v X , v y , v z , a X , a y , a z ]

a = m r 2 (Ley de gravitación universal de Newton / aceleración de dos cuerpos en forma escalar)

Los errores de división en cero se evitan utilizando la ecuación vectorial para la aceleración, ya que cualquiera de los componentes de posición puede ser igual a cero, pero la norma será un número positivo (suponiendo que la norma en sí misma no sea 0)

a = m | r | 3 r (Ley de gravitación universal de Newton / aceleración de dos cuerpos en forma vectorial. Tenga en cuenta que se agregó el signo negativo ya que la aceleración gravitatoria está en la dirección opuesta al vector de posición.

Aquí está la versión de Python de esta ODE:

def two_body_ode( t, state, mu = pd.earth[ 'mu' ] ):
    r = state[ :3 ]
    a = -mu * r / np.linalg.norm( r ) ** 3

    return np.array( [
        state[ 3 ], state[ 4 ], state[ 5 ],
        a[ 0 ], a[ 1 ], a[ 2 ] ] )

Y una trama para divertirse:ingrese la descripción de la imagen aquí

Esta respuesta a ¿Cómo resolver el problema de dos cuerpos en el marco ECI a través de la integración numérica? dice:

En lugar de una única ecuación diferencial de segundo orden

r ¨ = m r 3 r

Podemos resolver el siguiente par de ecuaciones diferenciales de primer orden en paralelo

v ˙ = m r 3 r
r ˙ = v

usando varios métodos simples que incluyen bibliotecas estándar o implementaciones propias de Runge-Kutta, incluido mi RK4/5 simple favorito con tamaño de paso variable .

[...]

A partir de esta respuesta, puede ver una implementación 2D utilizando no solo el monopolo 1 / r 2 término de gravedad pero el cuadrupolo adicional j 2 término para la forma achatada y el campo de la Tierra. Para obtener más información, consulte esta respuesta a Problemas para derivar componentes rectangulares de aceleración del satélite en órbita alrededor de la Tierra con consideración J2.

Aquí m con el parámetro gravitacional estándar que sería el producto GRAMO METRO si conociéramos cada parámetro con precisión. Resulta que para los cuerpos del sistema solar podemos determinar su producto con mucha más precisión que cualquiera de ellos solo. Si le gusta trabajar sin unidades y su cuerpo en órbita tiene una masa despreciable, configure m = 1 y tu periodo sera 2 π .

Entonces la pregunta es:

¿Cómo se escriben las ecuaciones de movimiento de 2 cuerpos en 3D como un sistema de ecuaciones diferenciales en la forma Xdot = f(X)?

Escrito y publicado, r ˙ = v y v ˙ = m r 3 r convertirse en:

X ˙ = v X
y ˙ = v y
z ˙ = v z
v X ˙ = m r 3 X
v y ˙ = m r 3 y
v z ˙ = m r 3 z
r = ( X 2 + y 2 + z 2 ) 1 / 2

Si:

X = [ X y z v X v y v z ]

entonces

X ˙ = [ v X v y v z X   m ( X 2 + y 2 + z 2 ) 3 / 2 y   m ( X 2 + y 2 + z 2 ) 3 / 2 z   m ( X 2 + y 2 + z 2 ) 3 / 2 ]

Gracias por publicar esto, me faltaban las ecuaciones escalares \dot{v} individuales en mi respuesta