30 de junio de 2003, Vol 4, no. 2
ISSN: 1607-6079

[RDU esta indizada en...]
[Inicio]
[Estádisticas]

 


Características generales

ZEUS-MP pertenece a una familia de códigos numéricos: ZEUS-2D y ZEUS-3D, desarrollados en el Laboratory for Computational (LCA) del National Center for Supercomputing Applications (NCSA) de la Universidad de Illinois, por Michael Norman, James Stone y David Clarke, para simular numéricamente fluidos astrofísicos (si el lector está interesado en el método numérico que utiliza el código para resolver las ecuaciones hidrodinámicas, recomendamos ver los artículos de Stone & Norman 1992a, b). Es importante señalar que el código ZEUS-3D ha sido utilizado, durante los últimos 10 años, por un grupo de investigadores de la UNAM (Franco, J., Martos, M. y Santillán, A.) para estudiar diferentes tipos de problemas astronómicos, por ejemplo la evolución de flujos de alta velocidad en la Vía Láctea (animación 1); la interacción entre flujos de alta velocidad (animación 2); la evolución de superburbujas de gas en el plano galáctico (animación 3); las inestabilidades magnéticas (animación 4), etcétera. Todos los cálculos numéricos de los problemas mencionados fueron realizados en las supercomputadoras Cray-YMP y Origin-2000 del Centro de Cómputo de la UNAM, utilizando la versión 3D del código ZEUS.

ZEUS es un código que resuelve numéricamente las ecuaciones de la magnetohidrodinámica (MHD), que describen la evolución de fluidos ideales (fluidos que conservan el flujo magnético en todo momento, no son viscosos y se mueven a velocidades mucho menores a la de la luz), asociados a una gran cantidad de sistemas astronómicos. En ambas versiones, 3D y MP, ZEUS presenta una serie de características importantes que se resumen a continuación: puede resolver problemas en 1, 2 y 3 dimensiones, utilizando diferentes geometrías: cartesiana, cilíndrica y esférica. Puede incluir autogravedad, así como campos gravitacionales externos. Los cálculos numéricos de la evolución dinámica del fluido, los puede resolver isotérmica o adiabáticamente. El algoritmo que utiliza el código para resolver el sistema de ecuaciones MHD, es el de diferencias finitas, explícito en el tiempo. Se aplica a una malla computacional euleriana ortogonal. El paso del tiempo es controlado por la condición de Courant y el tratamiento de ondas de choque se hace por medio de la viscosidad artificial de von-Newman-Richtmyer.

ZEUS-MP es la versión paralela de ZEUS-3D. Esta fue realizada por Robert Fiedler, John Hayes y James Bordner. Las siglas MP significan Multi-Physics, Massivelly-Parallel y Message-Passing. Al igual que en muchos códigos numéricos paralelos, cuando se utilizan instrucciones de paso de mensajes MPI, todos los procesadores ejecutan el mismo programa y todos los datos están disponibles localmente para un proceso dado. Cuando un procesador requiera los datos calculados por otro procesador, estos se transferirán explícitamente por medio de llamadas a subrutinas contenidas en librerías de paso de mensajes. Este modelo de programación que utiliza el paso de mensajes, generalmente permite un mayor control en la distribución de los datos entre procesadores. Bajo este principio, el dominio computacional de ZEUS-MP está dividido en mosaicos tridimensionales, donde cada mosaico contiene un cierto número de zonas de la malla, que pueden ser distribuidos en los procesadores disponibles (para más detalles y tener acceso al código fuente, se recomienda ampliamente la consulta de la página de ZEUS-MP).

En esta primera etapa de pruebas de rendimiento, utilizamos los problemas tridimensionales que se encuentran en la página Web de ZEUS-MP, que enumeramos a continuación: la evolución de una onda explosiva en un medio con y sin campo magnético, utilizando diferentes geometrías; un chorro de gas supersónico moviéndose en un medio homogéneo, y la hidrodinámica de una onda de choque que viaja dentro de un tubo cilíndrico. En la tabla 3 se presentan las características generales aplicadas en nuestras corridas. Es importante mencionar que el número de zonas en las mallas computacionales, quedó determinado en base a la memoria RAM disponible en los nodos, el tipo de problema y la geometría de la malla computacional.


 
[Resultados de periodo de pruebas]
[Codigo ZEUS-MP]
[Cluster Mixbaal-UNAM]