Computación e Informática
Introducción a enzo para simulaciones hidrodinámicas en astrofísica
INTRODUCTION TO ENZO FOR HYDRODYNAMIC SIMULATIONS IN ASTROPHYSICS
Introducción a enzo para simulaciones hidrodinámicas en astrofísica
ReCIBE. Revista electrónica de Computación, Informática, Biomédica y Electrónica, vol. 11, núm. 2, pp. 1-17, 2022
Universidad de Guadalajara

Recepción: 19 Julio 2022
Aprobación: 12 Septiembre 2022
Resumen: Los códigos y algoritmos en el estudio de fenómenos físicos han sido de gran utilidad, sin embargo, poco ha sido la aplicabilidad en los últimos 20 años desde su aparición al desconocer las bondades y ventajas, además de la robustez y complejidad que implica la manipulación. El objetivo fue revisar, identificar y reconocer la estructura de Enzo, las formulaciones matemáticas base, condiciones de frontera, refinamiento, validación y verificación con énfasis hidrodinámico. De esto se revisaron las aplicaciones que se le han asignado al código en el estudio de procesos cosmológicos y astrofísicos. La evolución ha sido notable, considerando que prioritariamente el equipo original de trabajo que lo desarrollo ha continuado investigando, generando lazos académicos para la conservación y mejora de Enzo. Conocer y divulgar este tipo de códigos puede permitir en un futuro no solo aplicarlo a procesos astrofísicos, sino a climatología e ingeniería.
Palabras clave: código, solución numérica, malla adaptativa refinada.
Abstract: Codes and algorithms in the study of physical phenomena have been very useful, but their applicability has been limited over the last 20 years due to a lack of understanding of their benefits, advantages, as well as the robustness and complexity involved in their manipulation. The objective was to review, identify and recognize the structure of Enzo, its mathematical formulations, boundary conditions, refinement, validation, and verification with hydrodynamic emphasis. Applications assigned to the code in the study of cosmological and astrophysical processes were also reviewed. The evolution has been notable, considering that the original development team has continued researching and creating academic partnerships for the preservation and improvement of Enzo. Understanding and disseminating these types of codes could allow for their future application not only to astrophysical processes, but also to climatology and engineering.
Keywords: code, numerical solution, refined adaptive mesh.
1. Introducción
2 Universidad Nacional Autónoma de México, Instituto de Astronomía, México.
Actualmente se han desarrollado diversos códigos numéricos para el estudio de procesos cosmológicos y astrofísicos, algunos han evolucionado sustancialmente desde su aparición, otros se han mantenido y otros han servido de base para la creación y formulación de nuevos códigos. A su vez, estos códigos requieren de algoritmos escritos en lenguajes de programación, uso de librerías y dependencias, para simular numéricamente de forma ordenada un fenómeno para ciertos lapsos de tiempo, en casos astrofísicos Giga- años, que con el uso de supercomputadores el tiempo se reduce a miles de horas.
Enzo es un código cuya primera versión fue en 1996, desde entonces se han sumado unos 100 investigadores que estudian una gran variedad de fenómenos cosmológicos y astrofísicos (Dubey et al, 2014). El código contiene varios módulos para procesos específicos, como una estructura de malla adaptativa refinada, en coordenadas cartesianas para 1D, 2D y 3D, con alta resolución espacial y temporal en la modelación hidrodinámica de fluidos, dinámica de N-cuerpos, semigravedad de fluidos y partículas, gas, plasma, radiación, expansión y formación estelar (Bryan et al., 2014; Goldbaum, 2017). Las ecuaciones Eulerianas que resuelve Enzo son la de conservación de masa, de momento, de la energía total del fluido y la de inducción magnética respectivamente:

Donde E es la energía total del fluido, ρ la densidad del gas, v la velocidad peculiar y B la intensidad del campo magnético, I es la matriz idéntica, a el parámetro de expansión cosmológica, Λ es el enfriamiento radiativo, Γ calentamiento radiativo, y Fcond el flujo debido a la conducción de calor térmico.
Además:

e es la densidad de la energía térmica, y la presión isotrópica se estima con:

p como la presión térmica. Además, la ecuación de estado y ecuación de Poisson para potencial gravitacional φ:

Donde ρ0 es la densidad promedio, además de considerar la densidad del gas, de materia oscura y de las estrellas. En el caso puramente hidrodinámico HD (B = 0) y sin expansión cosmológica (a = 1, a = 0). Adicionalmente, Enzo implementa la ecuación de flujo de calor isotrópico;

Así el coeficiente de conducción esta dado como una fracción de la conductividad de Spitzer y la temperatura del gas.
2. Metodología aplicativa
2.1 Refinamiento de malla adaptativa estructurada (SAMR)
Cada pieza o elemento observado es tratado como un objeto individual o como partícula. Las cuadrículas se organizan en jerarquía dinámica y se distribuyen por pieza en la malla. Cada cuadrícula se resuelve como un problema independiente con las condiciones de frontera de Dirichlet, almacenadas en zonas ghost, así al inicio de cada lapso de tiempo las celdas en un nivel determinado llenan las zonas ghost mediante interpolación, después las cuadrículas corrigen el flujo en el límite de la interfaz entre las zonas y proyectan los datos de la zona activa a la cuadrícula principal, mostrado en la Figura 1 y 2.


2.2 Configuración de valores de frontera
Las condiciones de frontera para cada pieza o elemento son:
a) Reflecting: la frontera se comporta como un espejo q(-x) = q(+x) pero con velocidad normal a la frontera invertida vx(-x) = -vx(+x).
b) Outflow: aproximación de las condiciones de frontera del flujo de salida duplicando la solución de dominio computacional q(-x) = q(0).
c) Inflow: los valores limite son fijados para una función predeterminada q(-x) = q0(-x,t). Enzo proporciona una forma de establecer valores de flujo de entrada constantes en el tiempo y espacio.
d) Periodic: la solución de frontera se obtiene de otro lado de la cuadrícula q(-x) = q(xmax – x).
2.3 Solucionador de ecuaciones hidrodinámicas sobre la malla
⮚ Para desarrollar la interpolación, las ecuaciones 1-3 se resuelven como flujo conservativo en las interfases y referencias de posición de las celdas.
⮚ Es necesario un promedio pesado, tal que la conservación se puede restaurar al corregir las celdas gruesas localizadas fuera de la región fina.
⮚ Se puede implementar un refinamiento adicional para determinar los límites que abarcan las celdas de interés.
⮚ Para reconstrucción jerárquica, se localiza la región más pequeña, se calcula la eficiencia (> 30 %) como una relación entre estas celdas y el total.
⮚ Si la región no es aceptable, se divide en dos, como una dimensión más larga y se estima el sumando de las celdas refinadas con el mismo índice, es posible utilizar diferencias finitas de tres puntos.
⮚ Si no hay puntos de inflexión en el eje más largo, se prosigue con el siguiente, si no se corta a la mitad generando dos nuevas regiones o proto-subcuadrículas, y se aplica nuevamente a cada una de las nuevas regiones.
⮚ El algoritmo anterior no es óptimo, pero ha demostrado un razonable y eficiente refinamiento de celdas, esto permite acomodar plantillas más grandes, además del acceso a máquinas de memoria más predecibles y lineales.
2.4 Criterios de refinamiento
a) Pendiente. Normalizada como (qi+1 – qi-1)/(2qi), con valor típico de 0.3.
b) Masa bariónica. Intenta mantener un resolución de masa fija, (Mg = ρ(Δx)d) más grande que ρflag(Δxroot)drЄll, donde el primer término es la densidad equivalente sobre la malla raíz, r el factor de refinamiento, l el nivel y Єl el parámetro de refinamiento (< 0 agresivo, > 0 menos agresivo que un refinamiento lagrangiano).
c) Choques. (pi+1 – pi-1)/min(pi+1, pi-1) > 0.33, ui-1 – ui+1 > 0 . ei/Ei > 0.1, 0.33 y 0.1 determinados empíricamente.
d) Masa de partículas. Similar a la masa bariónica, pero utiliza densidad de partículas de la nube de celdas (materia oscura y densidad estelar).
e) Longitud de Jeans. Es necesario forzar para un número fijo de celdas.
f) Tiempo de enfriamiento. En simulaciones es un proceso rápido, y está dado por tcool = 1.5kBT/(nΛ(T)) y el tiempo de cruce del sonido, tcross = Δx/cs, con la velocidad del sonido.
g) Partículas imprescindibles. Partículas con fuerzas gravitatorias, con trayectorias sin colisión, esto permite un refinamiento para un nivel específico.
h) Cortante. Se pueden modelar inestabilidades de Kelvin-Helmholtz al utilizar el cortante como parámetro de refinamiento, y ocurre cuando las diferencias finitas cumplen la desigualdad:

Єs es adimensional y definido por el usuario.
i) Profundidad óptica. De una celda es: τ = σHInHiΔx , con el primer término como sección eficaz de absorción de hidrógeno atómico neutro, la densidad propia de HI.
j) Longitud resistiva. Puede ser forzado para resolver escalabilidad para un número fijo de celdas.
k) Regiones refinadas. Para garantizar un refinamiento dada una simulación en un nivel.
l) Metalicidad. Definida como Z ≡ ρz/ρb/0.022, con densidad de metales, densidad bariónica (incluyendo metales).
3. Hidrodinámica: método parabólico por partes (PPM)
Incluyendo variantes: Reasignación (Lagrangiano) y Directo (Euleriano), donde este último es mejor para simulaciones AMR (Adaptative Mesh Refinement), además con las siguientes expresiones en su forma conservativa:


Para el comportamiento de la velocidad del gas bariónico, estas ecuaciones ya se pueden resolver con PPM, primero se calcula el lado izquierdo y derecho que sean efectivos en el límite de la cuadrícula de las variables primarias u originales, después se promedian las regiones que corresponden a las distancias que puede moverse (v, v-cs, v+cs). Posteriormente se utiliza Riemann con los estados anteriores para poder estimar los flujos en función de la solución del mismo problema para poder actualizar las cantidades. Así las ecuaciones pueden ser rescritas de la forma:

Lo anterior muestra la discretización en el espacio, con zona centrada (j) y cara centrada (j+1/2) y los superíndices indican la posición en el tiempo, además el ancho de la celda Δxj.
Adicionalmente, es necesario construir interpolaciones parabólicas por partes de tercer orden en 1D para la presión, densidad y velocidad.
La presión es determinada de la ecuación de estado (7), así la fórmula de interpolación para alguna cantidad de flujo q está dada por:

Para xj-1/2 ≤ x ≤ xj+1/2, y qL,j, Δqj, q6,j pueden ser vistas como constantes de interpolación. Una vez reconstruidas las cantidades originales (ρ, p, v y E), se promedian sobre los dominios de v-c, v o v+c. Las ecuaciones lineales de la dinámica del gas son utilizadas para calcular el estado izquierdo y derecho de segundo orden.
Las variables con j ±1/2 permiten una precisión de tercer orden en el espacio y de segundo orden en el tiempo, y son utilizadas para resolver la diferencia de las ecuaciones para ρn+1, vn+1 y En+1.
El esquema tridimensional se logra dividendo por operadores y repitiendo el procedimiento anterior en las dos direcciones ortogonales. Las velocidades transversales y cualquier cantidad adicional se agregan al sistema.
3.1 Formulación de energía dual para flujos con altos números de Mach
⮚ Lo desarrollado anteriormente funciona para sistemas gravitatorios con números de Mach < 100, siempre que las estructuras estén bien resueltas.
⮚ Para flujos hipersónicos existe alta energía cinética Ek y energía interna del gas e con valores como de 108.
⮚ La energía interna es muy pequeña comparada con la energía total. La presión es proporcional a E-Ek, esta diferencia no genera grandes errores en la distribución de presión en estas regiones, además la dinámica y el balance de energía del flujo no se ven afectados.
⮚ Con la ecuación de la energía interna:

Representando el transporte y la expansión del sistema, por lo que:

⮚ No hay flujo conservativo, la presión se evalúa en el centro de la celda, pero es difícil de estimar sin generar grandes errores, lo que genera perturbaciones, por lo que la ecuación solo se usa en flujos hipersónicos.
⮚ Es necesario combinar las dos formulaciones cuidando la energía interna ya que esta interviene en la dinámica del gas.
⮚ En estas simulaciones se utiliza la energía total E para rutinas hidrodinámicas y la energía interna e para perfiles de temperatura.
⮚ Cuando la presión se requiere para fines dinámicos se utiliza el criterio por celda:

⮚ Si η1 es muy pequeño el método de energía dual no tiene efectos dinámicos, y típicamente η1 = 10- 3 para simulaciones en Enzo.
⮚ Para los errores de advección, es necesario la vecindad de cada celda, de la forma:

⮚ Así η2 determina la sincronización de e con E, valores altos generan choques débiles, con posible calentamiento falso si es demasiado bajo. Un valor conservador opcional es η2 = 0.1, ya que en simulaciones a gran escala el gas se enfría debido a la expansión, pero hay flujos a granel debido a la formación de estructuras.
3.2 Hidrodinámica: método de ZEUS
En este se incluye implementación del algoritmo hidrodinámico de diferencias finitas (ZEUS), el transporte de fluidos se resuelve en una cuadrícula cartesiana en esquema de advección monótona contra vientos, lo que genera una precisión de segundo orden en espacio y de primer orden en el tiempo. Como en PPM, se divide la solución de las ecuaciones en partes, y cada parte se evalúa sucesivamente utilizando los resultados precedidos. Además, la velocidad se registra en una cuadrícula escalonada en comparación con la densidad, la presión y la energía, que se encuentran en el centro de la celda. Una limitación al usar viscosidad artificial, es que mientras se logran las condiciones de salto de Rankine-Hugoniot, los choques se amplían a tres o cuatro celdas de la malla. Aunque es más robusto que PPM (Bryan et al., 2014).
3.3 Complementarios en hidrodinámica Gravedad
1) Cálculo de la masa gravitatoria total: las partículas masivas (materia oscura y estrellas) se distribuyen en las rejillas con una interpolación de segundo orden. Se forma un campo de densidad discretizado, y las partículas avanzan temporalmente 0.5vnΔt. Se agrega la malla bariónica para obtener la masa gravitatoria total.
2) Resolución del campo de potencial gravitacional con las condiciones de frontera adecuadas: para el campo potencial de masa gravitatorio en la malla raíz, se puede usar la función de Green -k-2 o el equivalente en diferencias finitas, mediante:

Donde k2 = kx2 + ky2 + kz2 es el número de onda en el espacio, y el potencial se calcula con el ritmo de k como f (k ) = G (k ) r (k ) . Para condiciones de frontera aisladas se usa el método de James. Para potenciales más precisos en las subcuadrículas, Enzo usa una técnica similar pero ligeramente diferente a la malla raíz.
Las condiciones de frontera se interpolan a partir de los valores de potencia en la cuadrícula principal, la ecuación de potencial en cada subred se resuelve con las condiciones de frontera de Dirichlet. No se garantiza que las subredes vecinas generen los mismos valores de potencial debido a la falta de una solución que incluya toda la jerarquía de la red.
3) Diferenciación del potencial para obtener la aceleración, se puede interpolar, se permiten 4 iteraciones ya que no se resuelve el problema total (Bryan et al., 2014).
N-cuerpos
Se usa el método para malla de N-cuerpos o partículas para calcular la dinámica de los sistemas sin colisión, dado que en niveles astrofísicos la precisión requerida en las simulaciones genera formación de estructuras. Es necesario posiciones y velocidades de las partículas a partir de xn y vn utilizando una técnica estándar deriva-retroceso-deriva de la forma:
N-cuerpos
Se usa el método para malla de N-cuerpos o partículas para calcular la dinámica de los sistemas sin colisión, dado que en niveles astrofísicos la precisión requerida en las simulaciones genera formación de estructuras. Es necesario posiciones y velocidades de las partículas a partir de xn y vn utilizando una técnica estándar deriva-retroceso-deriva de la forma:

Las partículas se almacenan en una cuadrícula más refinada, y las partículas que se mueven fuera cubren el volumen adyacente con una resolución más fina. Enzo proporciona un parámetro que gobierna el nivel máximo en el que se consideran las partículas como masas puntuales. En niveles más altos las contribuciones de las partículas al campo de masas gravitatorias se suavizan en una región esférica centrada de cada partícula.
Enfriamiento y calentamiento radiativo
Basado en cambios de energía, asumiendo que el gas se puede modelar ópticamente delgado o como una aproximación local al espesor óptico. Las reacciones que caracterizan a un gas libre de metales, se pueden estimar sin equilibrio aun en simulaciones grandes. El enfriamiento se resuelve calculando las velocidades de enfriamiento y calentamiento de los procesos individuales para el H y He atómicos: excitación e ionización por colisión, recombinación, emisión libre, dispersión. El enfriamiento radiativo este acoplado a la red química dentro del mismo bucle de subciclo. En el caso metagaláctico, este afecta al gas mediante fotocalentamiento y fotoionización, dependiente del corrimiento al rojo de las correspondientes ecuaciones químicas (Bryan et al., 2014).
4. Pruebas del Código Enzo
De acuerdo con Bryan et al. (2014) Enzo usa dos métodos: i) problemas de prueba que se pueden comparar con versiones anteriores, cambio de equipo, nuevo compilador o cambios en el código base y, ii) comparaciones directas con otros códigos de dinámica de flujos astrofísicos.
4.1 Verificación y validación
● En casos solo se requiere un archivo de entrada.
● En simulaciones cosmológicas toma condiciones iniciales creadas por otros códigos.
● Lo anterior permite verificar el comportamiento del código (estable en el tiempo, nuevas plataformas y modificaciones al código base).
● Permite ejecutar problemas de prueba y comparar resultados con otros producidos por otra versión del código.
● Hay una estructura organizada de directorios de acuerdo a la prueba (hidrodinámica, gravedad, enfriamiento, etc).
● Los problemas de prueba se agrupan en rápido (15 min), conjunto rápido (1 hr) y conjunto completo (60 hr), en equipos nuevos.
● Después de las simulaciones de prueba, el ejecutor de pruebas realiza una serie de tares y herramientas de análisis básicas.
● Los análisis incluyen cálculos estadísticos como intervalos, media y varianza, así los resultados se comparan con un conjunto de resultados estándar, además de poder almacenar localmente y comparar con otras versiones.
● Existen scripts para generar las figuras, también disponibles en el repositorio de Bitbucket de Enzo.
● Enzo se comporta de manera similar con otros códigos cosmológicos como GADGET SPH.
● Enzo tiene dificultades para la solución de problemas a pequeña escala de estructura gravitatorias.
● Funciona muy bien como un código basado en árboles para grandes estructuras por ser de orden superior (hidrodinámica PPM), por lo que es superior en la descripción de comportamientos a los otros códigos.
● Muestra buena resolución en fluidos y de choques para regiones de baja densidad en comparación con un código basado en partículas.
● Enzo y Gadget brindan resultados en métricas por ejemplo en el espectro de energía de la materia comparable en un margen del 5%.
● Presenta menores diferencias entre varios códigos, por ejemplo, en el gas y las masas de las partículas donde el nivel de Enzo es sustancialmente más alto.
5.0 Requerimientos
El link para acceder al código es https://enzo.readthedocs.io/en/latest/ en el cual se describe que es necesario contar con Fortran 90, C++, MPI parallel, CUDA support for Hydro, Librerias: HDF5, git e yt (visualización y análisis) y un Sistema Operativo como Linux, Mac OS X, AIX.
5.1 Actuales aplicaciones de Enzo
El código Enzo ha adoptado otras aplicaciones que también sirven de base para la solución de problemas físicos, astrofísicos y cosmológicos, como son: conducción térmica, formación de estrellas y retroalimentación, trayectoria de partículas, transporte radiativo y química, así como una combinación de la transformada rápida de Fourier para la solución de la ecuación de Poisson, en una cuadrícula de raíz periódica y en técnicas de redes múltiples como en subredes no periódicas (O´Shea et al., 2005).
Actualmente se han agregado nuevas características al código (Brummel-Smith et al., 2019), como son: compatibilidad con librerías de enfriamiento y química, nuevos algoritmos de refinamiento de malla adaptativa, presión de rayos cósmicos, difusión e inyección, modelación y cálculos de turbulencia, supernova sintética, supernova magnética, para partículas complejas un marco de partículas activas y evolución de materia oscura difusa. Enzo requiere de yt como un conjunto de herramientas de visualización y análisis para crear un entorno de consulta en diversos formatos (Turk, 2013; Turk et al., 2011).
Stewart et al. (2017) compararon Enzo, Art, Ramses, Arepo y Gizmo-PSPH para investigar el momento angular en galaxias del tamaño de la Vía Láctea de alta resolución, en cada uno implementando condiciones cosmológicas iniciales idénticas, las partículas de materia oscura se establecieron idénticas y se agregaron bariones en función de la distribución. Enzo ha evolucionado para el estudio en la exploración de formación de galaxias en el universo temprano, reionización del universo, examinación con alta resolución del entorno galáctico, impacto de hoyos negros supermasivos, turbulencia astrofísica, formación estelar, comportamiento de galaxias en el medio interestelar y deflagración de supernovas (Brummel-Smith et al., 2019). Salem et al. (2018) describieron semigravedad del gas, resaltando que la solución a un en regiones más complejas se obtiene refinada, además de la precisión del solucionador, ya que el momento angular se conserva mejor cuando el movimiento de rotación se alinea con algún eje de la cuadrícula. Boss y Keiser (2014) utilizaron el código para estudiar el colapso de nubes moleculares esferoidales con núcleos más condensados, donde las condiciones de frontera reflectantes se ajustaron mejor a la conservación de la masa y momento angular. Collins y Norman (2004) implementaron campos magnéticos al código debido a la necesidad del origen de la formación estelar y campos magnéticos en astrofísica moderna.
Burns et al. (2010) comparo observaciones con perfiles de temperatura utilizando Enzo, como un simple gas adiabático en regiones exteriores de cúmulos donde los tiempos de enfriamiento superan el tiempo de Hubble. Norman et al. (2009) describen una extensión del código en la que se incluye transporte de radiación ionizante con difusión aproximada, lo que genera una solución implícita acoplada de transporte de radiación, cinética de ionización y fotocalentamiento de gas, lo que hace que el paso de tiempo para este cálculo sea independiente. Forbes et al. (2016) utilizaron las condiciones iniciales que corresponden a galaxias enanas aisladas con un disco de gas, inicialmente laminar con perfil de densidad superficial cayendo exponencialmente, un halo caliente estacionario y partículas sin colisión a fin de representar estrellas y materia escura en la simulación de formación de estrellas. Latif et al. (2013) simuló remolinos de alta resolución siguiendo la evolución más allá de la formación de los picos, para reconocer la acumulación masiva central y fragmentación potencial. Padoan et al. (2006) utilizaron Enzo para probar un
método en la estimación del espectro de potencia de la turbulencia en nubes moleculares comparando los espectros en mapas de intensidad y mapas de velocidad.
Enzo refina en cualquier punto donde el gradiente de cantidades derivadas excede valores críticos, por ejemplo, al comparar con FLASH (Tasker et al.,2008), pero aplicado en casos más complejos como un choque esférico Enzo (con ajuste ZEUS) conduce a falta de conservación de energía y a una recuperación deficiente de la posición, perdida impulso con el tiempo. Schive et al. (2018) ha comparado la escalabilidad y rendimiento con GAMER-2 con simulaciones de galaxias de discos aislados y con FLASH en simulaciones de fusión de cúmulos de galaxias, donde GAMER-2 supera a Enzo aunque este tiene redes más grandes debido a la convergencia. En términos de escalabilidad es muy superior a otros códigos, el problema crítico es el solucionador de gravedad AMR que es un conjunto precondicionado de múltiples redes (Norman et al., 2018). Bordner y Norman (2018), indican que el código tiene lagunas limitaciones con respecto con su escalabilidad paralela, es decir no escala mucho más allá de unos pocos miles de núcleos al usar MAR, lo que limita su aplicabilidad, esto llevó a desarrollar Pentascale Enzo.
El código GRACKLE fue inicialmente incorporado a Enzo, los módulos del solucionador de enfriamiento fueron sencillos, lo que generó la extracción de la química y acondicionamiento de enfriamiento, aunque algunos procesos no están incluidos en las últimas versiones (Regan et al., 2017; Smith et al., 2017). Además, el solucionador MHD e hidráulico se han ajustado al marco de CUDA de NVIDIA, por lo que para grandes simulaciones supera las restricciones de memoria de las CPU actuales, gracias a la GPU (Gheller et al., 2015). Vazza et al. (2009) Implementaron un criterio de refinamiento de la malla adaptativa, diseñada explícitamente para aumentar la resolución espacial alrededor de discontinuidades en un campo de velocidades en simulaciones cosmológicas con Enzo, donde este criterio muestra una densidad de gas interna más baja, perfiles de entropía más planos, un balance de turbulencia mayor en todos los radios y un balance de energía térmica más grande en choques de acreción.
Schornbaum (2018) indica que en SAMR es importante analizar el aumento en el consumo de memoria debido a la replicación de datos, lo que genera cuellos de botella de escalas muy importante al utilizar Enzo. Dubey et al. (2014) indica que FLASH y Enzo requieren anualmente cientos de millones de horas en CPU en supercomputadoras administradas por organismos y agencias internacionales, aunque Enzo es un poco menos usado. Dubey et al (2014) indica que Enzo es similar a FLASH, pero con dificultad para optimizar solucionadores y equilibrio de cargas analizadas. Kitsionas et al. (2009) indican que en los códigos de cuadrícula al usar un parámetro de difusión más pequeño conduce a una menor disipación, dando como resultado un efecto de cuello de botella más grande, por ejemplo, al comparar Enzo con FLASH.
Finalmente, esta revisión del código Enzo ha permitido conceptualizar la estructura, bondades, ventajas y desventajas obtenidas por diversos investigadores que lo han utilizado. Sin embargo, esta introducción permite ampliar el conocimiento a un campo más grande como lo es en estudios de pregrado y posgrado en el área de ciencias astrofísicas, y posiblemente en un futuro a climatología e ingeniería aplicada, debido a que procesos no terrestres y terrestres presentan similitud, además de que las ecuaciones gobernantes presentan semejanza.
Referencias
Bordner, J. & Norman, M. L. (2018). Computational cosmology and astrophysics on adaptive meshes using charm++. arXiv:1810.01319v1 [astro-ph.IM]. https://doi.org/10.48550/arXiv.1810.01319
Boss, A. P. & Keiser, S. A. (2014). Collapse and fragmentation of magnetic molecular cloud cores with the Enzo AMR MHD code. ii. prolate and oblate cores. The Astrophysical Journal, 794:44, 1-14. Doi:10.1088/0004-637X/794/1/44
Brummel-Smith, C., Bryan, G., Butsky, I., Corlies, L., Emerick, A., Forbes, J., et al. (2019). ENZO: An adaptive mesh refinement code for astrophysics (version 2.6). The Journal of Open Source Software, 14(42). https://doi.org/10.21105/joss.01636
Bryan, G. L., Norman, M. L., O´Shea, B. W., Abel, T., Wise, J. H., Turk, M. J., et al. (2014). Enzo: an adaptative mesh refinement code for astrophysics. The Astrophysical Journal Supplement Series, 2011:19, 1-52.
Burns, J. O., Skillman, S. W. & O´Shea, B. W. (2010). Galaxy clusters at the edge: temperature, entropy, and gas dynamics near the virial radius. The Astrophysical Journal, 721:1105–1112. Doi:10.1088/0004-637X/721/2/1105
Collins, D. C. & Norman, M. L. (2004). Development of an AMR MHR module for the code Enzo. American Astronomical Society Meeting 205, id.153.14; Bulletin of the American Astronomical Society, 36, p.1605
Dubey, A., Almgren, A., Bell, J., Berzins, M., Brandt, S., Bryan, G., Colella, P., Graves, D., Lijewski, M., Loffler, F., o´Shea, B., Schnetter, E., van Straalen, B. & Weide, K. (2014). A survey of high level frameworks in block-structured adaptive mesh refinement packages. J. Parallel Distrib. Comput. http://dx.doi.org/10.1016/j.jpdc.2014.07.001
Dubey, A., Turk, M. J. & O´Shea, B. W. (2014). The impact of community software in astrophysics. 11th World Congress on Computational Mechanics (WCCM XI), 5th European Conference on Computational Mechanics (ECCM V), 6th European Conference on Computational Fluid Dynamics (ECFD VI), 1-8.
Forbes, J. C., Krumholz, M. R., Goldbaum, N. J. & Dekel, A. (2016). Suppression of star formation in dwarf galaxies by photoelectric grain heating feedback. Letters Research, 0, 1-10. Doi:10.1038/nature18292
Gheller, C., Wang, P., Vazza, F. & Teyssier, R. (2015). Numerical cosmology on the GPU with Enzo and Ramses. XXVI IUPAP Conference on Computational Physics (CCP2014), Journal of Physics: Conference Series 640, 1-6. Doi:10.1088/1742-6596/640/1/012058
Goldbaum, N. J. (2017). Extracting insights from astrophysics simulations. arXiv:1711.10373 [astro-ph.IM]. https://doi.org/10.48550/arXiv.1711.10373
Kitsionas, S., Federrath, C., Klessen, R. S., Schmidt, W., Price, D. J., Dursi, L. J., Gritschneder, M., Walch, S., Piontek, R., Kim, J., Jappsen, A. -K., Ciecielag, P. & MacLow, M. -M. (2009). Algorithmic comparisons of decaying, isothermal, supersonic turbulence. A & A, 508, 541-560. Doi: 10.1051/0004-6361/200811170
Latif, M. A., Schleicher, D. R. G., Schmidt, W. & Niemeyer, J. (2013). The formation of massive population iii stars in the presence of turbulence. The Astrophysical Journal Letters, 772:L3, 1-7. Doi:10.1088/2041-8205/772/1/L3
Norman, M. L., Reynolda, D. R. & So, G. C. (2009). Cosmological radiation hydrodynamics with Enzo. En
I. Hubeny, J. M. Stone, K. MacGregor and K. Werner (Eds.), Recent Directions in Astrophysical Quantitative Spectroscopy and Radiation Hydrodynamics (260-272). American Institute of Physics 978-0-7354-0710-7/09
Norman, M. L., Smith, B. D. & Bordner, J. (2018). Simulating the cosmic dawn with Enzo. Frontiers in Astronomy and Space Sciences, 5, 1-21. Doi: 10.3389/fspas.2018.00034
O´Shea, B. W., Bryan, G., Bordner, J., Norman, M. L., Abel, T., Karkness, R. & Kritsuk, A. (2005). Introducing Enzo, an AMR cosmology application. En T. J. Barth, M. Briebel, D. E. Keyes, R. M. Nieminen, D. Roose and T. Schlick (eds), T. Plewa, T. Linde and V. G. Weirs (Eds.), Adaptive Mesh Refinement – Theory and Applications (341-350). Springer.
Padoan, P., Juvela, M., Kritsuk, A. & Norman, M. L. (2006). The power spectrum of supersonic turbulence in perseus. The Astrophysical Journal, 653: L125–L128.
Regan, J. A., Visbal, E., Wise, J. H., Haiman, Z., Johansson, P. H. & Bryan, G. L. (2017). Rapid formation of massive black holes in close proximity to embryonic protogalaxies. Nature Astronomy, 1, 1-6. Doi: 10.1038/s41550-017-0075
Salem, M., Besla, G., Bryan, G., Putman, M., van der Marel, R. P. & Tonnesen, S. (2018). Ram pressure stripping of the large magellanic cloud’s disk as a probe of the milky way’s circumgalactic medium. Draft Version.
Schive, H., ZuHone, J. A., Goldbaum, N. J., Turk, M. J., Gaspari, M., & Cheng, C. (2018). GAMER-2: a GPU-accelerated adaptive mesh refinement code – accuracy, performance, and scalability. Monthly Notices of the Royal Astonomical Society, 481, 4815-4840. Doi:10.1093/mnras/sty2586
Schornbaum, F. (2018). Block-structured Adaptive Mesh Refinement for simulations on extreme-scale supercomputers. Tesis Doctoral. Technischen Fakultät der Friedrich-Alexander-Universität Erlangen-Nürnberg. 152 p.
Smith, B. D., Bryan, G. L., Glover, S. C. O., Goldbaum, N. J., Turk, M. J., Regan, J., Wise, J. H., Schive, H., Abel, T., Emerick, A., O´Shea, B. W., Anninos, P., Hunmels, C. B & Khochfar, S. (2017). GRACKLE:
a chemistry and cooling library for astrophysics. Monthly Notice of the Royal Astronomical Society, 466, 2217-2234. Doi:10.1093/mnras/stw3291
Stewart, K. R., Maller, A. H., Oñorbe, J., Bullock, J. S., Joung, M. R., Devriendt, J., Ceverino, D., Kares, D., Hopkins, P. F. & Faucher-Giguere, C. (2017). High angular momentum halo gas: a feedback and code-independent prediction of LCDM. The Astrophysical Journal, 843:47, 1-15. https://doi.org/10.3847/1538-4357/aa6dff
Tasker, E. J., Brunino, R., Mitchell, N. L., Michielsen, D., Hopton, S.,Pearce, F. R., et al. (2008). A test suite for quantitative comparison of hydrodynamic codes in astrophysics. Mon. Not. R. Astron. Soc., 390, 1267-1281. Doi:10.1111/j.1365-2966.2008.13836.x
Turk, M. J. (2013). Scaling a code in the human dimension. XSEDE '13: Proceedings of the Conference on Extreme Science and Engineering Discovery Environment: Gateway to Discovery. https://doi.org/10.1145/2484762.2484782
Turk, M. J., Smith, B. D., Oishi, J. S., Skory, S., Skillman, S. W., Abel, T. & Norman, M. L. (2011). yt: a multi- code analysis toolkit for astrophysical simulation data. The Astrophysical Journal Supplement Series, 192:9, 1-16. Doi:10.1088/0067-0049/192/1/9
Vazza, F., Brunetti, G., Kritsuk, A., Wagner, R., Gheller, C. & Norman, M. (2009). Turbulent motions and shocks waves in galaxy clusters simulated with adaptive mesh refinement. A & A, 504, 33-43. Doi: 10.1051/0004-6361/200912535
Importar_tabla5265c64616
Esta obra está bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 2.5 México.