Noticias

Oleaje extremo e inundaciones costeras
screenshot6-thumb.jpg screenshot7-thumb.jpg

Simulación de oleaje de una tormenta golpeando una plataforma petrolera, gracias a DualSPHysics software y GPUs NVIDIA.

La simulación numérica de los medios fluidos ha atraído el interés de ingenieros y científicos durante décadas. Los esfuerzos en esta dirección se han intensificado en los últimos años, ya que la esperada elevación del nivel del mar aumentará la vulnerabilidad de los ecosistemas costeros frente a eventos extremos tales como inundaciones inducidas por tormentas o tsunamis. La predicción de los efectos asociados a estos eventos, así como la creación de sistemas eficaces de mitigación constituyen un reto para un sector creciente de la comunidad científica. Las zonas costeras sufren el paso periódico de tormentas las cuales dan lugar a estados de mar severos que resultan en daños materiales y pérdidas humanas. Los modelos estándar de generación-propagación pueden utilizarse para propósitos de oceanografía operacional con resultados satisfactorios, tanto en alta mar como en las zonas cercanas a la costa, pero no proporcionan información sobre la posibilidad de inundaciones en las zonas costeras. Por ello, deben considerarse modelos más sofisticados tales como DualSPHysics para la creación de mapas de riesgo. Este objetivo sólo puede lograrse en un tiempo razonable con la ayuda de la computación basada en GPUs.

RETO

A finales del siglo XX había numerosos modelos capaces de reproducir de forma realista la generación y propagación del oleaje, generando campos de olas similares tanto a los medidos en experimentos de laboratorio como en boyas costeras. Sin embargo, estos modelos clásicos tenían serias limitaciones cuando las olas se acercaban a la línea de costa y chocaban con estructuras o inundan zonas costeras, arrastrando vehículos, escombros y parte del mobiliario urbano. La principal limitación de estos modelos clásicos se debía a las ecuaciones simplificadas que resuelven, las cuales sólo contienen una parte de la complejidad del problema físico. Ese era el precio que había que pagar para ahorrar los limitados recursos computacionales. Obviamente, existían métodos más sofisticados, pero eran marginales debido a la potencia de cálculo disponible. Algunos de estos modelos alternativos serán los llamados modelos lagrangianos, en particular, el método SPH (Smoothed Particle Hydrodynamics), el cual comenzó a utilizarse en problemas relacionados con la dinámica computacional de fluidos en los primeros años de este siglo. Estos modelos rápidamente demostraron su versatilidad y robustez, pero se vieron limitados al estudio de problemas simplificados y casos de laboratorio, ya que los recursos computacionales requeridos eran mucho mayores que los necesarios para los modelos clásicos. Los laboratorios sólo tenía dos opciones: centrarse en los casos más sencillos o tener acceso a supercomputadores, los cuales son poderosos pero caros y difíciles de mantener. Por consiguiente, era necesario encontrar un camino para laboratorios pequeños y medianos pudiesen enfrentarse a casos más complejos, aun teniendo presupuestos moderados.

LA SOLUCIÓN

En ese momento, cuando las herramientas estaban disponibles pero sólo podían utilizarse en casos contados aparece CUDA como una posibilidad potente y económica de computación usando las GPUs, cuya velocidad habían aumentado exponencialmente durante la década anterior. Hay que decir que ya se habían realizado intentos pioneros de utilización de GPUs con anterioridad, pero la metodología era engorrosa a la vez que muy sofisticada, por lo que era poco recomendable, especialmente para crear nuevos modelos donde los algoritmos deben actualizarse constantemente. En el caso particular de SPHysics, el modelo se había lanzado como “open source” en el verano de 2007 y pronto se hizo evidente que a pesar de su éxito, testimoniado por un creciente número de descargas, el uso del modelo era puramente académico, ya que la mayoría de los usuarios sólo tenían plataformas modestas para ejecutarlo. Así, el proyecto de convertir el antiguo SPHysics en DualSPHysics nace en 2008. El nuevo modelo se diseñó para utilizar todos los recursos disponibles en el ordenador del usuario, ya sean CPUs o GPUs (una o varias).

EL RESULTADO

La primera versión de DualSPHysics (http://dual.sphysics.org/) se liberó en enero de 2011, con una respuesta entusiasta por parte de los usuarios anteriores de SPHysics. Manteniendo la misma filosofía y el enfoque de su predecesor, el modelo podría funcionar en una GPU (GeForce GTX 480) y ser del orden de 100 veces más rápido que sobre una CPU. Así, el modelo, que en los primeros ensayos realizados en 2001 se ejecutaba utilizando aproximadamente 104 partículas, podía funcionar en el año 2011 usando 106-107 partículas en aproximadamente el mismo tiempo físico. Para dar una estimación numérica, un ensayo normal que en 2011 corría en seis horas en 2001 habría requerido más de tres semanas. Pero lo mejor estaba por llegar, ya que varias GPU pueden utilizarse en paralelo con el fin abordar la resolución de casos cada vez más grandes y complejos. Este enfoque se llevó a cabo con la ayuda del Centro de Supercomputación de Barcelona, donde hasta 128 Tesla 2090 se han utilizado en paralelo, lo que ha permitido realizar cálculos que implican 109 partículas (véase la figura). Es de destacar que el proceso ha demostrado la buena escalabilidad del modelo, con valores del orden de 97,4% para 128 Tesla 2090. A la vista de los resultados, los científicos responsables del proyecto DualSPHysics (Prof. M. Gesteira, Dr. A. Crespo e Ing. J.M. Domínguez) dijeron: "Esta es la simulación más realista que jamás hayamos visto. Ahora, el modelo puede aplicarse a problemas reales, tales como la protección del litoral, sin tener que esperar semanas para ver los resultados".

”Ahora, el objetivo es ejecutar el modelo en ordenadores más potentes usando miles de GPUs para resolver problemas de inundaciones que ni siquiera hubiésemos soñado hace una década”, dicen los miembros del equipo al unísono. Cuando se les pregunta sobre la finalidad de su proyecto ellos concluyen “el principal propósito es ayudar a las autoridades españolas y servicios de alerta a prevenir muertes gracias a predicciones rápidas y eficientes”

screenshot6.jpg

screenshot7.jpg