Simulaciones numéricas de fluidos en el medio interestelar Alejandro Esquivel
Grupo de hidrodinámica y plasmas astrofísicos en el Instituto de Ciencias Nucleares Alejandro Raga Pablo Velázquez Alejandro Esquivel Ary Rodríguez Fabio de Colle Jorge Cantó (IA-UNAM) Claudio Toledo (estudiante) Página web del grupo: www.nucleares.unam.mx/astroplasmas Dispositivo experimental para el estudio de chorros de café
Supercómputo y astrofísica Supercómputo se refiere al uso de computadoras con grandes capacidades de cálculo, memoria o almacenamiento de datos. Los experimentos numéricos se han vuelto una herramienta invaluable para el estudio de objetos astronómicos (normalmente no es posible hacer experimentos directos). Simulaciones numéricas: soluciones numéricas aproximadas a problemas astrofísicos. Dinámica de N-cuerpos Simulaciones hidrodinámicas y magnetohidrodinámicas, SPH… Uso y desarrollo de códigos (programas de computadora) para el estudio de la dinámica del medio interestelar.
Simulaciones hidrodinámicas Eulerianas Cosideramos la evolución de las variables hidrodinámicas (densidad, momento, energía ) respecto de volúmenes de control fijos. Para esto se discretiza el espacio en una malla computacional. “baja resolución” “alta resolución”
Simulaciones hidrodinámicas Eulerianas (cont). Simulaciones en una malla Euleriana. Se resuelven de forma numérica las siguientes ecuaciones (de Euler): Sistema de EDP 5x5 “continuidad” “momento” “ec. de estado” “energía” Fuerzas externas (por unidad de volumen) Trabajo realizado por dichas fuerzas externas +fx +fy +fz +f.u
Hidrodinámica + reacciones químicas +fx +fy +fz +f.u Las demás especies químicas (iónicas) no tienen un efecto importante directamente en la dinámica, pero sí en los procesos de calentamiento y enfriamiento del fluido.
Solución en la práctica (forma esquemática) Para fluidos altamente compresibles (frecuentes en astrofísica): Método de diferencias (volúmenes) finitos, a grandes razgos. Se discretizan las variables hidrodinámicas (U = [r , r u, r v, r w, E, …] ) Ejemplo: U(x,t) = Ui,j,k(t), la precisión de la solución crece con la resolución: número de puntos escogidos para discretizar cada dirección (Dx=xmax/Nx …). Se calculan los Flujos Fi,j,k, Gi,j,k, Hi,j,k al tiempo t: F=F( U[t] ), G=G( U[t] ), H=H( U[t] ) Se calcula un paso de tiempo máximo (condición de Courant). Se aproximan las derivadas de las variables y los flujos como diferencias (volúmenes) finita(o)s, entonces la solución para U a un tiempo t+Δt queda (2D) como algo de la forma (ojo “orillas”= condiciones de frontera): Después de este paso, t+Δt se convierte en nuestro nuevo t y volvemos al punto 2, iterando hasta alcanzar el tiempo de evolución deseado.
Códigos de malla adaptiva La malla se adapta en tiempo real al problema Permite bajar resolución en lugares “poco interesantes”
Códigos Eulerianos: ejemplo exitoso YGUAZÚ-A Raga A.C, Navarro-González R., Villagrán-Muñiz M., RMAA, 2000, 36,67 Originalmente concebido para tratar problemas relacionados con explosiones del Popocatépetl Resuelve las ecuaciones de Euler + una red de reacciones atómicas/iónicas Red adaptiva binaria Diversos fenómenos han sido incluídos: tratamiento de cuerpos sólidos en movimiento, transporte radiativo, autogravedad, etc. Ejemplo: “clump” autogravitante, siendo fotoevaporado por una estrella Esquivel A. & Raga A., 2007, MNRAS,377, 383
Incluye transporte radiativo y autogravedad Fotoevaporación y fragmentación de núcleos neutros autogravitantes (Esquivel & Raga, 2007, MNRAS, 377, 383) Incluye transporte radiativo y autogravedad Malla computacional de 6 niveles, máxima resolución equivalente a 512x256x256
Simulación del objeto HH30 (Esquivel & Raga, 2007, A&A, 486, 613) Incluye una red de reacciones atómicas/iónicas con 17 especies Malla adaptativa de 6 niveles Máxima resolución corresponde a 1024x256x256 Observaciones de la línea SII
Flujos balísticos en el medio interestelar (Raga, Esquivel, Velázquez, Rieira, 2007, ApJ, 668, 310) Malla adaptativa de 6 niveles, máxima resolución de 1024x256x256 Función de enfriamiento parametrizada
Requisitos de cómputo (hace ~5 años) Modelo Tiempo de CPU Memoria RAM Clump Fotoevaporado ~1 mes Intel Xeon @2.8 Mhz < 2Gb Jet (HH30) 1 semana AMD Opteron 875 @2.2Mhz ~8Gb Viento de cúmulo de estrellas 3 días ~7Gb Bala interestelar
Nuevos códigos numéricos: cómputo en paralelo Para poder realizar cálculos más intensivos el cómputo paralelo se ha vuelto una herramienta fundamental Existen varias tecnologías que nos permiten realizar este tipo de cálculos Máquinas de memoria compartida (servidores multiprocesadores) Todos los núcleos tienen acceso a toda la RAM al mismo tiempo. La filosofía es de repartir las tareas entre los procesadores. OpenMP. $$$ Máquinas de memoria distribuida (clusters y grids) Muchas máquinas “económicas” conectadas con una red de alta velocidad. La filosofía se vuelve en repartir los datos entre los distintos procesadores. Mejor relación costo/rendimiento GPUs (graphics processing units) Nueva tecnología, desarrollada a partir de las tarjetas gráficas de las PC Miles de procesadores “tontos” en una sola tarjeta gráfica (relativamente barata) La limitante es la cantidad de datos que se pueden cargar en la tarjeta, pero empieza a haber algunas opciones para darle la vuelta. Diable (ICN) 148 procesadores 296Gb RAM 11Tb de disco Infiniband
Paralelización en códigos Eulerianos de malla fija en un cluster El dominio se reparte entre los diferentes procesadores, de tal forma que cada uno hace una porción del problema. Ejemplo: un problema a resolverse en un dominio de 5123, en 8 procesadores. Cada procesador resuelve un problema con solo 2563 puntos. Pero hay que tener en cuenta que se tienen que pasar las fronteras a cada paso de tiempo.
Ejemplo en un código paralelo de malla uniforme Jet con precesión y movimiento orbital: Raga et al. 2009, A&A, 707, L6 Modelo analítico que resuelve la trayectoria considerando la velocidad del movimiento orbital y la precesión del jet. Simulaciones con una resolucón de 256x256x1024 celdas computacionales En 32 procesadores en nuestro cluster diable, cada procesador “resolvió” 1283 celdas Memoria RAM requerida: ~32Gb Tiempo de cómputo: dos días
Nuevos códigos paralelos: Walixce (AMR a bloques) Mandar grupos de bloques a distintos procesadores Para minimizar la comunicación hay que minimizar las fronteras, asignándoles un número de Hilbert por ejemplo.
Ejemplos de descomposición de dominio con Walicxe
Corrida con buena resolución Bloques de 48 x 48, con 7 niveles de resolución, y 4 bloques raíz. Equivalente a una resolución 3072x12228 (para resolver las distancias de enfriamiento)
Aplicación, modelo de la estela de la estrella variable MIRA Esquivel et al. ApJ, 2010 725,1466
Modelo numérico Interacción de una fuente de viento isotrópico en un medio en movimiento. Dominio computacional de (1x0.5)x1019cm. Bloques de 16x16 celdas, con 8 niveles de refinamiento (4 bloques raíz) Resolución equivalente a 4096x2048 pixeles en una malla uniforme Características de la Fuente (Mira) Tasa de pérdida de masa dM/dt=3x10-7 Myr-1 Se inyecta el material en un radio de 1x1016cm vw=5 km s-1, Tw=10. Propiedades del Medio nenv= 1 cm-3, , Tenv=1000, venv=-125 km s-1
Animaciones del modelo de la estela de MIRA
Walicxe-3D (parte de la tesis doctoral de Juan Claudio Toledo) Curva de Hilbert en 3D
Interacción de dos vientos estelares (q1 Ori) Sistema binario C-C2 M1=30 Msun, M2=12 Msun a=17 AU, t=10.98 yr, e=0.61 (velocidad orbital 25-90 km/s) Vientos esféricos dM1/dt=4.5x10-7 Msun/yr, v1=1000 km/s dM2/dt=4.5x10-8 Msun/yr, v2= 500 km/s Las posiciones de las fuentes de viento se hacen resolviendo la ecuación de la orbita elíptica de forma numérica.
Evolución de la densidad
Emisión en rayos X suaves (0.2-2 keV).
MUCHAS GRACIAS! Preguntas?