You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[x] Múltiples partículas
[x] Paralelo
[x] Linear omega damping
[x] Archivo ipynb para graficar
[x] Limpieza y resetructuración de código (nombres de variables, ...)
[x] Actualziado el Makefile
--elem : Imprimir elementos orbitales (solo partículas) [default]
59
+
--noelem : Imprimir coordenadas baricéntricas
60
+
-tomfile : Utilizar archivo de (t)iempos|omega|masa que sigue
61
+
--notomfile : No utilizar archivo de (t)iempos|omega|masa
62
+
-partfile : Utilizar archivo de partículas que sigue
63
+
--nopartfile : No utilizar archivo de partículas
64
+
--noconfig : No leer archivo de configuración
65
+
--version1 : Usar versión 1: y=(B0, B1, ..., P0, ...)
66
+
--version2 : Usar versión 2: y=(θ, ω, P0, ...) [default]
67
+
--merge : Incluir asociar colisiones de partículas a asteroide
68
+
--nomerge : No asociar colisiones de partículas
69
+
--torque : Incluir torque de partículas hacia el asteroide
70
+
--notorque : No incluir torque de partículas hacia el asteroide
71
+
-parallel : Paralelizar usando la cantida de thread que sique
72
+
--parallel : Paralelizar usando todos los threads disponibles
73
+
--noparallel : No usar paralelización para partículas
74
+
--help : Mostrar esta ayuda
75
+
60
76
```
61
77
62
78
63
-
### PARALELO (Recordar estar en algún entorno de python)
79
+
### Parallel
80
+
81
+
Hay 2 posibilidad de ejecución en paralelo:
82
+
83
+
-_Dependiente_: Se realiza una sola integración, incluyendo un asteroide y muchas partículas al mismo tiempo. Aquí se paralelizan las tareas relacionadas a cada partícula por separado (i.e, cálculo de aceleraciones, elementos orbitales, etc.).
84
+
-_Independiente_: Se realizan múltiples integraciones independientes, con una partícula cada una. Aquí cada integración se ejecuta en paralelo.
85
+
64
86
En este caso se debe tener un **archivo con los datos de las partículas a integrar**.
65
-
Este archivo se puede crear con el código [make_particles.py](./make_particles.py). Su configuración se realiza en las líneas [67 a 97](./make_particles.py#L67#L97).
87
+
Este archivo se puede crear con el código [make_particles.py](./tools/make_particles.py). Su configuración se realiza en las líneas [75 a 102](./make_particles.py#75#L102), y si ejecució se realiza con:
88
+
89
+
```console
90
+
$ python make_particles.py
91
+
```
66
92
67
-
Para ejecutar en paralelo, se puede utilizar el código [parallel.py](./parallel.py). Más información se encuentra [al inicio](./parallel.py#L2#L55) de este archivo. Luego de configurarlo, su ejecución se realiza con
93
+
Para la integración _dependiente_ es necesario compilar usando _-fopenmp_ (incluído ya por default), mientras que para la independiente no es necesario. En este segundo caso, es posible compilar ejecutando ` make serial`, y así entonces no se utiliza _fopenmp_.
94
+
95
+
Para realizar la integración _independiente_, se provee el código en Python [launcher.py](./launcher.py). Más información se encuentra [al inicio](./launcher.py#L3#L42) de este archivo. Luego de configurarlo, su ejecución se realiza con:
68
96
69
97
```console
70
-
$ python parallel.py
98
+
$ python launcher.py
71
99
```
72
100
101
+
(Recordar estar en algún entorno de python)
102
+
103
+
Para realizar una integración _dependiente_, simplemente se debe editar el número de cpus en el [archivo de configuraciones](./config.ini) ([use parallel threads](./config.ini#L17)), o ejecutar directamente en la terminal:
104
+
105
+
```console
106
+
$ ./ASTROBOULD [args] -parallel <number of cpus to use>
107
+
```
108
+
109
+
También se puede utilzar el código [launcher.py](./launcher.py) para esta integración, pero en este caso solo funcionará si está activado el modo [torque](./launcher.py#L70).
110
+
73
111
### Archivo TOM (Tiempos, Omega, Masa agregada)
74
112
75
-
Para crear este archivo se puede usar [make_TOM.py](./make_TOM.py), luego de configurarlo (líneas [17 a 41](./make_TOM.py#L17#L41)). Se puede encontrar más información [al inicio](./make_TOM.py#L5#L15) de este archivo.
113
+
Para crear este archivo se puede usar [make_TOM.py](./tools/make_TOM.py), luego de configurarlo (líneas [17 a 41](./make_TOM.py#L17#L41)). Se puede encontrar más información [al inicio](./make_TOM.py#L5#L15) de este archivo.
76
114
77
-
Por otro lado, también se puede usar [make_TOM.f90](./make_TOM.f90), de C. Beaugé. Se debe configurar manualmente, para luego compilar y ejecutar.
115
+
Por otro lado, también se puede usar [make_TOM.f90](./tools/make_TOM.f90), de C. Beaugé. Se debe configurar manualmente, para luego compilar y ejecutar.
0 commit comments