Primero, recuerde que los sistemas planeta-luna están orbitando el sol, y las lunas están orbitando los planetas. Puede averiguar qué velocidades y posiciones necesita para que las lunas orbiten los planetas en los marcos de referencia de los planetas, y luego sume las velocidades de los planetas a sus respectivas lunas desde el marco de referencia del sol.
En segundo lugar, si esto no es específicamente un ejercicio para codificar un integrador de Euler semi-implícito, sino algo que está haciendo para ver cómo el sistema solar (o algún subconjunto del mismo) evoluciona en el tiempo, considere pasar a un esquema de integrador de orden superior, Para una mejor precisión.
Parece que el esquema que está utilizando ya es simpléctico (es decir, que respeta la geometría subyacente de este sistema dinámico), así que compónalo con el método adjunto (actualice primero las posiciones, luego las velocidades usando las posiciones actualizadas) para obtener la actualización esquema de la siguiente manera:
- ¿Cómo poner a los humanos en la órbita de la Tierra da mejor ciencia que usar satélites?
- Si se dice que una estrella es x veces más brillante que otra estrella, ¿eso significa que el flujo de luz es x veces la otra estrella, o es la luminosidad x veces la otra?
- ¿Por qué no hay gigantes rocosos en el sistema solar? ¿Por qué solo los gigantes gaseosos?
- ¿Cuál es la probabilidad de que la tierra exista si hubo un reinicio desde Big Bang?
- ¿Cuál es el planeta más denso de nuestro sistema solar?
[matemáticas] \ qquad \ begin {align *} \ vec x (t + \ tfrac {\ Delta t} {2}) & = \ vec x (t) + \ vec v (t) \ tfrac {\ Delta t} { 2} \\ \ vec v (t + \ Delta t) & = \ vec v (t) + \ vec a (t + \ tfrac {\ Delta t} {2}) \ Delta t \\ \ vec x (t + \ Delta t) & = \ vec x (t + \ tfrac {\ Delta t} {2}) + \ vec v (t + \ Delta t) \ tfrac {\ Delta t} {2}. \ End {align *} [/ matemáticas]
Vea que este esquema da “medio” un paso adelante en las posiciones, luego un paso completo hacia adelante en las velocidades (usando las posiciones de medio paso), y luego otro medio paso en las posiciones usando las velocidades completamente actualizadas.
Este método es mejor porque es preciso hasta un segundo orden en el paso de tiempo [matemática] \ Delta t [/ matemática] y solo tiene requisitos computacionales marginalmente adicionales a los que ya está utilizando *. Además, es simétrico, por lo que tomar el negativo de todas las velocidades e integrarse con pasos de tiempo positivos es lo mismo que mantener las velocidades positivas e integrarse con pasos de tiempo negativos (útil para verificar la precisión de la integración). Ser simétrico también significa que puede construir integradores de orden aún más altos con solo componer este método consigo mismo con diferentes tamaños de subpaso (determinados por las soluciones de ciertas ecuaciones algebraicas), en línea con alguna teoría de que no hay espacio para entrar aquí !).
* Tenga en cuenta que existe otro método de segundo orden en el que se invierten los roles de las velocidades y las posiciones, pero esto es aproximadamente el doble de costoso de evaluar (porque debe calcular todas las aceleraciones dos veces por paso de tiempo).