Sobre la entrega final

Sobre la entrega final

por Cesar Voulgaris -
Número de respostas: 0

En base a algunos comentarios les planteo lo siguinete a modo de ayuda:

1 - Para resolver el problema pueden asumir como parámetro dado, el nro de cuerpos (3 en nuestro caso).Este nr lo pueden usar como variable para iterar tanto en el script de Linux integrador como en el .f90.

----------------------------------------------------------------------------------------

2 - El archivo base de entrada para la simulación debe tener como hablamos en clase 8 campos:

    nombre masa posx0 posy0 posz0 vx0 vy0 vz0

El archivo es de 3 lineas, las masas se las paso yo. pueden tener un archivo de config inicial que levanta el script de Linux donde en c/u de las 3 lineas tiene: "nombre" "masa" de los cuepos y levantan esto del script de linux, o directamente lo inicializan como variables iniciales en el script de Linux. En base a estos dos datos después filtrando pueden armar el archivo definitivo con los 8 campos. 

Dejo el archivo "cuerpos.in" de ejemplo con el que corrí mi simulación en: /home/introcomp-files/otros/cuerpos.in

-----------------------------------------------------------------------------------

3 - Para armar los 6 campos de posiciones y velocidades a partir de los archivos de ephemerides bajados (para sol, tierra, halley) deben filtrar (vean que el patrón de las líneas con coordenas es 'X =' y para la velocidades 'VX ='). Luego en base a esto se quedan solo con las coordenadas (en los 365 días)en archivos para cada cuerpo si van a plotear al final las órbitals completas bajadas para compara con la simulaciónes.

Las simulaciones solo necesitan en estos 6 campos, la primera Linea de posición y la primera de velocidad (primer tiempo: 1986-01-01) como está en el archivo de ejemplo "cuerpos.in" que subí.

Vean que los datos de ephemerides están en notación exponencial con 16 cifras significativas y  22 caracteres en total (considerando E, el exponenet y signo de - que tiene alfgunas entradas).

No se compliquen en el read de fortran de ajustarse a este formato, simplmenet hagan un read(unidad,*) que ya lo levanta completo y después si para imprimirlos datos en los archivos de salida, le dan fomrato: 'E22.16' para variables de doble precisión.

Dejo una archivo de ejemplo de como levantar los datos desde fortran y como imprimirlos en: 

       /home/inrocomp-files/otros/entradaNcuepos.f90

 4 - Para la salida de datos, vana a crear 3 archivos distintos (en base a la varaible nrCuerpos que en nuestro caso será 3). Estos archivos se llamarán: cuerpo1.dat , cuerpo2.dat ... o cuerpo-sol.dat, cuerpos-tierra.dat (usando un nr o el nombre de cada cuerpo a elección). Para crear en la itearción sobre el nr de cuepos, los nombres de archivos de salida, se puede usar la instrucción write pero escribiendo a una unidad que ne vez de ser un archivo, es una variable. Para esto les dejo un ejemplo en:

 /home introcomp-files/otros/salidaNcuerpos.f90