Descripción del proyecto
HIPSIA – HIGH PERFORMANCE SIMULATION FOR STRUCTURAL INTEGRITY ANALYSIS
Periodo: 1996-01-01 – 1999-09-30 (39 meses).
Entidad financiadora: Comisión Europea
Equipo:
- C.A.Brebbia, Diego d’Erba. Wessex Institute of Technology, UK (WIT).
- J. C.Telles. Universidad Federal de Río de Janeiro, Brasil (COPPE).
- J. L. Otegui, A. Cisilino. Instituto de Ciencia y Tecnología de Materiales, Argentina (INTEMA)
- Francisco Fernández Rivera, Patricia González. Instituto de Informática, Universidad de Santiago de Compostela (USC)
- Tomás Fernández Pena, José Carlos Cabaleiro Domínguez, Patricia González Gómez. Dpto. de Electrónica e Computación. Facultad de Física. Universidad de Santiago de Compostela (USC).
- Proyecto financiado por la Unión Europea, INCO-DC 950956
Descripcion :
El objetivo de este proyecto es desarrollar una herramienta de simulación de altas prestaciones mediante la implementación de algoritmos sobre ordenadores paralelos, capaz de predecir la durabilidad de estructuras constructivas susceptibles de sufrir deformaciones y fracturas.
En este proyecto, se aplicará el método de elementos de contorno (Boundary Elements Method, BEM) para la predicción de la evolución de fracturas. La aplicación de este método supone importantes ventajas respecto a otros métodos, como MEF, MDF, ya que este método solo requiere la discretización de la frontera del dominio y no la discretización tanto del interior como de la frontera de éste, como sucede con otros métodos.
El trabajo llevado a cabo por el CESGA se puede dividir en tres tareas básicas:
1. Interface de usuario para entorno Windows. Nos permitirá controlar todo el proceso de análisis del problema y la visualización de resultados, así como la visualización y animación de la malla.
2. Mallador. El usuario podrá crear las mallas de los objetos que deseemos estudiar, adecuadas para a su utilización con el BEM. Además de esta tarea, el mallador controla el proceso de remallado automático. El mallador está basado en el pegado de superficies elementales (elipses, cuadrados, superficies de revolución…) y transformaciones de estas (rotación, simetría, translación).
3. Paralelización del BEM. Como habíamos dicho anteriormente, para llevar a cabo el análisis numérico emplearemos el BEM. El programa que implementa este método será ejecutado sobre máquinas paralelas (AP3000 del CESGA).
En concreto, se ha realizado la paralelización usando una metodología de pase de mensajes, abordando como principal problema la distribución equitativa de la carga computacional debido a que los diferentes modos del mallado considerado para la estructura presentan comportamientos muy diferentes en términos de las computaciones que tienen asociadas. Se desarrolló para este problema un nuevo esquema que balancea esta carga de manera dinámica. Los resultados en cuanto a eficiencias de los códigos paralelos desarrollados muestran comportamientos próximos al óptimo.
El proceso de estudio de un problema de mecánica de fractura de este tipo se lleva a cabo en varias etapas. Estas etapas son:
Adquisición e inserción de los datos geométricos. El usuario deberá introducir los datos necesarios para definir la geometría del cuerpo y de la fractura que hay que estudiar. La geometría del cuerpo quedará definida por un conjunto de superficies elementales.
Generación de la malla a partir de los datos introducidos y visualización. Una vez introducidos los datos de la geometría, el mallador se encargará de realizar la correspondiente malla. Luego se visualizará la malla para que el usuario pueda comprobar que el resultado obtenido es el que se deseaba.
El análisis numérico del problema con el BEM. Una vez creada la malla e introducidas las correspondientes condiciones de entorno, estamos en disposición de realizar el estudio de este problema. Para esto, se ejecutará el programa que implementa el Método de Elementos de Entorno sobre una máquina paralela (AP3000) y se obtendrán los resultados pertinentes.
El análisis de los resultados. Una vez que tenemos los resultados del análisis numérico, deberemos estudiaros. Para ello, el interface de usuario nos permitirá visualizar los diferentes resultados obtenidos: tensiones, desplazamientos, deformaciones, etc.
Proceso de remallado automático. Esta es una de las partes más importantes y costosas del proyecto. Los resultados obtenidos tras el análisis numérico, nos permitirá determinar la extensión sufrida por la fractura, así como las direcciones de propagación. A partir de estos datos deberemos construir la malla de la nueva fractura resultante y remallar aquelas zonas en las que la fractura resultante intersecte la superficie del objeto. Construida la nueva malla, podremos volver a realizar un nuevo análisis numérico y repetir este proceso. Este procedimiento se repite hasta alcanzar unas condiciones previamente establecidas por el usuario: número máximo de pasos que hay que realizar o extensión mínima permitida.
Para el desarrollo de la interface de usuarios se usó el programa MS Visual C++ en la parte relativa al diseño de ventanas, cajas de diálogo, menús, etc., e a librería OpenGL para la visualización y animación gráfica.
Se realizó la paralelización usando una metodología de pase de mensajes, abordando como principal problema la distribución equitativa de la carga computacional debido a que los diferentes nodos del mallado considerado para la estructura presentan comportamientos muy diferentes en términos de las computaciones que tienen asociadas. Se desarrolló para este problema un nuevo esquema que balancea esta carga de manera dinámica. Los resultados en cuanto a eficiencias de los códigos paralelos desarrollados muestran comportamientos próximos al óptimo.
Resultados:
Los resultados obtenidos al final de este proyecto han sido bastante buenos. Se realizaron numerosos estudios, obteniendo unos resultados muy próximos a la teoría en algunos casos, y próximos a los resultados experimentales que se conocían en otros. El testado de esta herramienta consistió en estudiar la evolución de diversas fracturas en distintos objetos. Algunos de los casos estudiados eran simplemente cuerpos y fracturas idealizados, para los cuales se conocía una solución analítica, con el que se pudo comprobar si el programa se adaptaba a estas soluciones o, si por el contrario, los resultados obtenidos divergían excesivamente de los esperados. Por otro lado, uno de los socios del proyecto, el INTEMA, se encargó de realizar el estudio de diversos objetos reales en sus laboratorios, obteniendo así unos resultados fieles a la realidad, que nos sirvieron como base para comprobar el comportamiento de nuestro paquete. Como dijimos anteriormente, tanto en unos casos como en los otros, los resultados obtenidos con HIPSIA se aproximaron adecuadamente a los resultados conocidos.
Además, los socios de este proyecto, así como la Comisión Europea, quedaron muy satisfechos con la apariencia y funcionalidad de la interface del usuario, demostrada en una reunión en Bruselas.Una demostración de este paquete se celebró en Buenos Aires (Argentina) durante la primeira semana de mayo de 1999.
En cuanto a la paralelización del método de Elementos de Contorno, también se obtuvieron muy buenos resultados debido al alto grado de paralelización de este método. Como muestra de estos resultados, creo que el siguiente ejemplo es claramente significativo: un caso que tardaba algo más de 4 horas si se ejecutaba en secuencial, pasó a tardar poco más de 10 minutos al ejecutarse en paralelo.
Tiempo de Supercomputación usado:
Debido a que se paralelizó el código para distintas plataformas (Fujitsu AP3000, CRAY T3E y CRAY J90),y a que además hubo varias personas involucradas en esta paralelización, es difícil estimar el tiempo de supercomputación utilizado durante el desarrollo de este proyecto. Lo que si podemos decir es que en el Fujitsu AP3000 que hay en el CESGA se utilizaron unas 500 horas.
Publicaciones:
P. González, T.F. Pena, J.C. Cabaleiro, and F.F. Rivera: «Dual BEM for crack growth analysis on distributed-memory multiprocessors». Technical report, Dpt. Electronics and Computer Science. University of Santiago de Compostela, 1998.
P. González, T.F. Pena, J.C. Cabaleiro, and F.F. Rivera: «Dual boundary element method for crack growth analysis on distributed-memory multiprocessors». In B. H. V. Topping, editor, Advances in Engineering Computational Technology, pp. 65-71. Civil-Comp Press, 1998.