Integrador EVORB13

(version 13, setiembre de 2007)
Integracion numerica de sistema de M particulas sin masa en el campo de N planetas masivos y una estrella central.
Este programa corre en DOS y Windows.
No necesita instalacion, simplemente descomprima evorb.zip y copie los archivos a una carpeta.
Determina la evolucion de los elementos orbitales heliocentricos (a, e, i, longitud del nodo ascendente, argumento del perihelio, anomalia media) de un sistema de planetas (con cierto radio en km y cierta masa en masas solares) y particulas (sin radio ni masa) bajo el efecto gravitacional de un cuerpo central (que puede ser el Sol u otra estrella) y de los demas cuerpos masivos. Se necesita al menos un planeta y una particula. Maximo de objetos que integra: 500. No integra orbitas hiperbolicas, al detectarse una orbita hiperbolica el objeto es eliminado. No puede haber encuentros proximos entre objetos masivos pues el programa pierde precision. En cambio el programa maneja muy bien los encuentros de las particulas (sin masa) con los planetas (masivos). Puede integrar tambien hacia el pasado. Utiliza el integrador de A. Brunini (UNLP) y la adaptacion es de T. Gallardo (FC-UR). Es opcional la posibilidad de considerar efectos relativistas provocados por el cuerpo central segun Quinn et al. (1991, AJ, 101, 2287). NO aplica correccion relativista si la distancia heliocentrica es muy pequeña pues se introduciria un error. No considera achatamiento de estrella central. Este programa se distribuye para fines puramente experimentales para el curso de Mecanica Celeste de Facultad de Ciencias. Si su nave espacial se aparta de la trayectoria indicada por este programa no nos hacemos responsables. Si necesita apoyo celeste consulte (gallardo@fisica.edu.uy) o lea este Manual del Mecánico Celeste (de dudosa ayuda). Tal vez Ud quiera consultar tambien el Atlas de resonancias de movimientos medios. En publicaciones cientificas este integrador puede ser referido como Fernández, J. A., Gallardo, T., and Brunini, A.: 2002, ‘Are There Many Inactive Jupiter Family Comets Among the Near-Earth Asteroid Population?’, Icarus 159, 358-368. El integrador ha sido usado en varios articulos cientificos sobre dinamica de asteroides, cometas y objetos transneptunianos.
ESQUEMA DE USO:

   1                 2
datos.dat ------> evorb13.exe -------> energia.sal  (control de precision)
                                       finales.sal  (elementos finales de los cuerpos eliminados)
                                       colisio.sal  (elementos de cuerpos que colisionaron)
                                       encuent.sal  (encuentros de particulas con planetas)
                                       orbitas.sal  (evolucion de elementos orbitales)
                                       xyzv.sal     (posiciones y velocidades)
                                       condin.xxx   (para continuar la integracion)

                                      3
encuent.sal + orbitas.sal ------> sacando.exe -----> evoxxxx.dat (evolucion del cuerpo xxxx)
                                                     encxxxx.dat (encuentros del cuerpo xxxx)

                                      3
                 xyzv.sal ------> sacandox.exe -----> xyzxxxx.dat (evolucion del cuerpo xxxx
                                                                   en coordenadas cartesianas)


1) PRIMER PASO: preparar datos.dat

En datos.dat (editarlo con bloc de notas o TextPad, atencion: cambio levemente respecto a versiones anteriores) se deben indicar los detalles de la integracion numerica:
  1. indice para considerar o no efectos relativistas
  2. indice para guardar o no archivo con posiciones y velocidades
  3. distancia minima y maxima a la estrella permitidas
  4. masa central en masas solares y radio en kms
  5. tiempo total de la integracion en años julianos (de 365.25 dias). Si desea integrar hacia el pasado basta poner un tiempo negativo.
  6. intervalo de escritura de datos (si es muy chico se llenara el disco duro...). DEBE SER MULTIPLO DEL PASO.
  7. paso: si es grande va rapido pero acumula errores, se recomienda hacer algunas pruebas con paso del orden de la cincuenta-ava parte del menor periodo orbital de los objetos intervinientes
  8. indice: poniendo 0 empieza una nueva integracion y poniendo 1 continua con una anterior
  9. numero de planetas que intervienen, pueden ser reales o ficticios (minimo uno)
  10. epoca para los elementos de esos planetas
  11. los elementos de esos planetas, una linea por cada planeta que interviene
  12. numero de particulas que intervienen (minimo una)
  13. epoca para los elementos de esas particulas (este sera el instante inicial de la integracion)
  14. los elementos de esas particulas, una linea por cada particula que interviene
Ejemplo, si desea la evolucion de un asteroide o cometa obtenga sus elementos orbitales de alguno de los lugares citados abajo o del Astronomical Almanac (seccion G), pongalo como particula y corra el programa usando todos los (8) planetas. A veces es posible depreciar Mercurio y agregar su masa al Sol.

Importante: no elimine los comentarios (*) de datos.dat pues el programa asume que estan alli. Luego de la lectura de la ultima linea de datos de las particulas el programa no leera nada mas de datos.dat asi que puede escribir y guardar lo que quiera alli.

Un practico conversor de fechas a JD se encuentra en http://aa.usno.navy.mil/AA/data/docs/JulianDate.html

Para saber el JD exacto de un evento en la integracion que ocurre en el tiempo T basta calcular: JD(T) = JDEpocaParticulas + T*365.25

Ejemplo de datos.dat:

*INDICE PARA CONSIDERAR (1) O NO (0) EFECTOS RELATIVISTAS
0
*INDICE PARA GUARDAR (1) O NO (0) ARCHIVO CON (X,Y,Z,Vx,Vy,Vz)
1
*LIMITES INFERIOR Y SUPERIOR EN UAs PARA ELIMINACION DE CUERPOS
0.01  300.0
*MASA CENTRAL EN MASAS SOLARES Y RADIO EN kms
1.0  696000.0
*TIEMPO MAXIMO DE LA SIMULACION EN AÑOS:
1000.0
*INTERVALO DE ESCRITURA EN AÑOS (multiplo del PASO):
100.0
*PASO DE INTEGRACION en años:
0.005
*INDICE PARA RE-ARRANQUE (0 ES UNA CORRIDA NUEVA, 1 ES CONTINUACION)
0
*NUMERO DE PLANETAS (minimo uno)
8
*JD epoca de planetas
2451400.5
*elementos J2000 de los planetas: N a e i nodo argper anomedia masa radio(km)
1  0.38709897  0.205622188  7.0050053  48.3307302  29.1239378 303.4539666 1.66013679D-07  2440.0
2  0.72333793  0.006771606  3.3945712  76.6821802  54.8201213 178.9704486 2.44783833D-06  6052.0
3  0.99998836  0.016736826  0.0001213  27.6464539  75.3942093 215.0034486 3.04043264D-06  6371.0
4  1.52367503  0.093290001  1.8498920  49.5616397 286.5090192 303.6562023 3.22715144D-07  3390.0
5  5.20399661  0.048719684  1.3046775 100.4829904 275.0927233   6.8013147 9.54791938D-04 69911.0
6  9.58195033  0.055272778  2.4852156 113.6436321 335.5040835 315.9800041 2.85885980D-04 58232.0
7 19.24744286  0.043713914  0.7727272  74.0128993  97.4115217 140.3579592 4.36624404D-05 25362.0
8 30.14125054  0.011166945  1.7676331 131.7957546 259.2549938 273.2914807 5.15138902D-05 24624.0
*NUMERO DE PARTICULAS (minimo una)
4
*JD epoca de particulas
2452880.5
*elementos J2000 de ESAS particulas: N a e i nodo argper anomedia
10 6.927713 0.8156838 29.0741  218.0082  171.1487  177.1351
11 6.001769 0.7876825 18.70094  22.21415 257.2521    0.0513757
12 5.671776 0.8240879 54.69256 270.5487  206.7027  244.5646
13 5.132881 0.7743644  4.87674  14.41821  22.32553 196.9951

Con estos datos estariamos integrando sin considerar efectos relativistas por 1000 años con salida cada 100 años y con paso 0.005 años a los 8 planetas mas 4 objetos que en este caso son los cometas P/McNaught-Russell(1994X1) , 66P/duToit , 8P/Tuttle y 85P/Boethin. Se guardaran tambien los datos de posiciones y velocidades y todo objeto que se aproxime 0.01 UA del Sol o se aleje mas de 300.0 UA del Sol sera eliminado.

El numero entero identificatorio de cada objeto no debe repetirse y debe estar comprendido entre 1 y 9999.

2) SEGUNDO PASO: ejecutar evorb13.exe

Ejecute evorb13.exe haciendo doble clic y espere.... Una vez terminada la integracion:

3) TERCER PASO: ejecutar sacando.exe y/o sacandox.exe

Para obtener un archivo con la evolucion para un objeto particular corra el programa "sacando.exe" haciendo doble clic. Se generan 2 archivos para el objeto conteniendo su evolucion orbital y su historia de encuentros. Estos archivos son facilmente graficables. Si le interesa la evolucion de la posicion y velocidad de algun objeto debera ejecutar "sacandox.exe". Esta ultima opcion suele emplearse para ver el detalle del encuentro entre 2 cuerpos.

Accesorios para manejo de datos

Un práctico y poderoso graficador de datos lo encuentra en GNUPLOT. Y seguro que WinGrep le sera de suma utilidad para hurgar en grandes archivos de datos (mineria de datos). Un editor muy recomendable con sorting y manejo de columnas y bloques de datos es TextPad.

CONTINUACION DE INTEGRACION ANTERIOR

Si desea continuar una integracion terminada o cortada por un apagon tiene 2 opciones:
  1. en datos.dat ponga el nuevo tiempo final (que puede ser el mismo si se corto la integracion) y sustituya el 0 por un 1 en el indice de re-arranque. El archivo "condin.xxx" debe estar disponible. Ejecute el programa. Los nuevos datos se agregan a los archivos anteriores (si ya existen) o se crean nuevos archivos (si no existen).
  2. otra opcion (menos precisa) es tomar los elementos de orbitas.sal y ponerlos en datos.dat agregando masas y radios de planetas y poniendo la misma epoca (cualquiera) para planetas y particulas. Previamente guarde aparte los archivos generados en la corrida anterior.

ADVERTENCIAS


BUGS

En la version 13 se agregan 2 lineas al inicio de "datos.dat" para hacer opcional la correccion relativista. Se corrige conteo del tiempo en pantalla (en integraciones largas se acumulaba un error de redondeo). A partir de la version 12.R se consideran efectos relativistas provocados por el cuerpo central segun Quinn et al. (1991, AJ, 101, 2287). Cuando la distancia heliocentrica es muy pequeña la correccion relativista introduce un error notorio. Por estra razon en la version 12.RC limitamos la aplicacion de la correccion relativista a distancias mayores que un cierto limite (r**1.5 > 20*paso). La version 12.0 sustituye a las anteriores y supuestamente hemos corregido los errores de las versiones anteriores. En la version 11.5 corregimos error en el calculo de la energia total del sistema (para control) que aparecia en caso de sistemas donde la estrella central tuviera masa diferente de 1. Ahora ademas se guardan la energia cinetica y la potencial para los curiosos. En la version 11.4, gracias a Esmeralda Mallada, corregimos un error en el calculo de la distancia de un encuentro que se manifiesta en caso de encuentros muy alejados (mas de un radio de Hill), por causa de este error aparecian encuentros muy proximos en "encuent.sal" cuando en realidad eran muy alejados. En la version 11.2 corregimos un pequeño error en el calculo del instante de los encuentros proximos. En alguna compilacion anterior el programa abortaba por faltar una libreria que el usuario desprevenido seguramente no tendria. Ahora se soluciono en esta version compilada con g77.

ELEMENTOS ORBITALES


Otros integradores


Fortran

Compilador y Editor FORCE 2.0 (libre) http://force.lepsch.com/