You are on page 1of 12

Quiroz Meza Jorge Eliot Anlisis Numrico. ESTUDIO DE CASO.

Grupo: 04

Dinmica de Fluidos Computacional (CFD)

I.

Generacin de la idea. Con la finalidad de poder conocer una de las vastas aplicaciones del anlisis numrico en la ingeniera y sobre todo en el mbito de la carrera que estudio (Ingeniera Mecnica), decid llevar a cabo esta investigacin en la cual se busca dar a conocer una aplicacin de mi inters. En dicha aplicacin se conocer uno de los grades usos de los mtodos numricos aprendidos a travs del curso en la Dinmica de Fluidos Computacional (CFD, por sus siglas en ingls), una moderna herramienta para el estudio y anlisis de estos en la Mecnica de Fluidos.

II.

Justificacin. Desde tiempos ancestrales el papel del Ingeniero ha sido bsicamente el mismo, tratar de conocer e interpretar los mecanismos de la naturaleza para as poder modificarla al servicio del hombre. Para ello ha utilizado sus conocimientos, intuicin, experiencia y los medios naturales que en cada momento ha tenido disponibles. Con el gran poder de cmputo que se tiene hoy en da, el Ingeniero dispone de grandes ventajas para poder llevar a cabo su misin y abordar cada da retos ms ambiciosos en la solucin de nuevos problemas, cuyos aspectos polticos, econmicos, cientficos o tecnolgicos pueden tener un mayor impacto en la mejora de la calidad de la vida del hombre. En la actualidad, gracias a la gran evolucin que han tenido los mtodos numricos y su implementacin en potentes computadoras, es posible resolver sistemas algebraicos de ecuaciones con varios cientos de miles (a veces millones) de incgnitas. La dinmica de fluidos computacional proporciona informacin cualitativa y cuantitativa de la prediccin del flujo de un fluido por medio de la solucin de las ecuaciones fundamentales usando mtodos numricos. La CFD permite a los cientficos e ingenieros desarrollar experimentos numricos (simulaciones computacionales) en un laboratorio virtual (software de computador). Estos experimentos permiten predecir comportamientos y conocer datos de las variables involucradas en el proceso.

Quiroz Meza Jorge Eliot

Grupo: 04

III.

Objetivos. Realizacin de un estudio de caso con respecto a una aplicacin dentro de la Ingeniera, que involucr lo aprendido en el curso de Anlisis Numrico. Brindar informacin acerca del tema y la aplicacin elegida por el alumno, as como la presentacin y solucin de un problema de aplicacin. Asimilar y comprender que en Ingeniera existen y existirn problemas de aplicacin real, que conlleven al uso indispensable de los mtodos numricos para su anlisis y solucin, todo esto a travs de algn software especializado en modelacin y simulacin de la CFD.

IV.

Alcances. Con la realizacin de este estudio de caso, se pretende ampliar la perspectiva que se tiene acerca de la Mecnica de Fluidos y sus usos en Ingeniera, y as mostrar la intervencin de los mtodos numricos en el anlisis de flujos de fluidos. Se da una explicacin de qu es y cmo se trabaja la CFD dentro del campo de investigacin ingenieril, as como la presentacin de un ejemplo de CFD.

V.

Marco terico. Al observar nuestro alrededor es posible contemplar multitud de fenmenos asociados a los fluidos y a las leyes que los rigen. Van desde el vuelo de un ave hasta el agua que fluye por una tubera, desde la aerodinmica de un carro de frmula uno hasta la friccin del traje de bao de un nadador, desde las emisiones de contaminantes por parte de industrias hasta el comportamiento atmosfrico del aire. A partir de la curiosidad y necesidad de comprender el trasfondo del comportamiento de los fluidos, los cientficos plantearon formulaciones para su estudio utilizando las matemticas. Desde la antigedad, ya Arqumedes analizaba el comportamiento de fluidos como el agua. Observ, entre otras cosas, cmo un fluido sometido a presin se desplaza desde la zona de mayor presin hasta la de menor. Fue ya Leonardo Da Vinci en el siglo XV quien realiz grandes contribuciones al estudio del comportamiento de los fluidos mediante el planteamiento de ecuaciones matemticas. Uno de los trabajos ms destacados fue la creacin de la ecuacin de continuidad o principio de conservacin de masa.

Quiroz Meza Jorge Eliot

Grupo: 04

Pasando por valiosos contribuyentes al desarrollo de la mecnica de fluidos, a finales del siglo XIX, fueron Claude-Luis Navier y George Stokes los que formularon teoras sobre la friccin interna de fluidos de movimiento y derivaron la famosa ecuacin de Navier-Stokes. Se trata de un conjunto de ecuaciones en derivadas parciales no lineales que describen el movimiento de un fluido. Al solucionar esta ecuacin se puede conocer el valor de las variables de un fluido tales como velocidad, presin, temperatura, etc. Actualmente no se dispone de una solucin general analtica para este conjunto de ecuaciones, salvo ciertos tipos de flujo y situaciones muy concretas. Debido a esto se debe recurrir al anlisis numrico (utilizando computadores para realizar millones de clculos) para determinar una solucin aproximada. A la rama de la mecnica de fluidos ocupada de la obtencin de estas soluciones mediante computadores se denomina Dinmica de Fluidos Computacional (CFD, de su acrnimo anglosajn Computational Fluid Dynamics).

VI.

Investigacin. Dinmica de Fluidos Computacional Qu es? La dinmica de fluidos computacional es una de las ramas de la Mecnica de Fluidos, que usa mtodos numricos y algoritmos para estudiar y analizar problemas que involucran fluidos en movimiento, mediante la solucin de las ecuaciones de Navier-Stokes, transferencia de calor e incluso otras reacciones qumicas en el computador. Existen diferentes mtodos numricos y algoritmos que resuelven de distinta forma las ecuaciones fundamentales. En otras palabras, la Dinmica de Fluidos computacional es el arte de reemplazar los sistemas de ecuaciones diferenciales parciales en un sistema algebraico de ecuaciones que pueden ser resueltas usando computadores. La siguiente figura muestra un ejemplo de los resultados (campo de presiones) de una simulacin de la CFD a un transbordador espacial, con un software especializado.

Quiroz Meza Jorge Eliot

Grupo: 04

Figura 1. Shuttle. Aerosoft

Cmo y cundo surge la CFD? La historia de la CFD, como es lgico, va ligada a la evolucin de los ordenadores. Surgi en la dcada de los 70 como medio para simular fluidos en movimiento, aunque para situaciones muy simples en aplicaciones aeroespaciales e industrias donde la prediccin del comportamiento del flujo era importante. Con la evolucin de los supercomputadores y con el desarrollo de nuevas tcnicas numricas, los problemas que se podan resolver eran cada vez ms complejos. Ya a principios de los aos 80 resolvan las ecuaciones de Euler en dos y posteriormente en tres dimensiones. A mediados de la dcada de los 80 se fue desplazando el inters hacia los fluidos viscosos y por tanto hacia la resolucin completa de la ecuacin de Navier-Stokes. En los 90 el uso de la CFD se expandi de forma significativa a distintas aplicaciones y procesos industriales en los que interviene transferencia de calor, reacciones qumicas (como combustin), flujos bifsicos, cambios de fase, transferencia de masa y esfuerzos al interactuar con slidos, entre otros. Actualmente el uso de esta herramienta ha cambiado radicalmente. Ha pasado de ser empleado solo a nivel de investigacin a ser utilizado como una potente herramienta en problemas aplicados de ingeniera de carcter industrial. Qu ventajas y desventajas nos ofrece el uso de la CFD? Si se cuenta con un dispositivo o un diseo de un sistema, el cual presenta dificultades de prototipo o de realizacin de pruebas experimentales para comprobar y verificar su diseo, el uso de la herramienta CFD permite virtualmente conocer el comportamiento del funcionamiento interior. Existen muchos fenmenos que se pueden evidenciar a travs de la CFD, que no se pueden apreciar mediante ningn otro mtodo. La CFD ofrece un conocimiento interno ms detallado de los diseos.

Quiroz Meza Jorge Eliot

Grupo: 04

Ventajas: 1. Predice las propiedades del fluido con gran detalle en el dominio estudiado. 2. Ayuda al diseo, prototipos y soluciones rpidas evitando costosos experimentos. 3. Se obtiene una visualizacin y animacin del proceso en trminos de las variables del fluido.

Desventajas: 1. Requiere usuarios con amplia experiencia y formacin especializada. 2. Consume recursos de hardware y software que requieren inversiones iniciales significativas. 3. En algunos casos, el costo computacional es elevado.

Cmo se trabaja la CFD? Una simulacin numrica est compuesta por 3 etapas: pre-procesamiento, procesamiento y pos-procesamiento. Durante la etapa de pre-procesamiento se genera la geometra, el enmallado y configuracin de la simulacin. Durante la etapa de procesamiento se resuelven numricamente las ecuaciones fundamentales. La etapa de pos-procesamiento est definida por la visualizacin y anlisis de resultados. Una simulacin de CFD comienza con la modelacin geomtrica CAD del dominio a analizar, es decir representar en el computador la geometra de lo que se quiera simular. Este domino representa el fluido sobre el cual se quiere tener informacin, analizar y predecir el comportamiento. Actualmente existen diversos softwares comerciales especializados nicamente en generar modelaciones CAD. Algunos de ellos son: Pro Engineer, Catia, Solid Works y Solid Edge. Una vez se tenga el dominio computacional o modelo CAD del fluido, ste se discretiza o divide espacialmente en celdas para formar una malla o grilla. Las mallas pueden ser regulares, definidos por celdas en formas de tringulos (2D) o en tetraedros (3D), o pueden ser regulares definidos por celdas en formas de cuadrado (2D) o hexaedros (3D). Las propiedades fsicas del fluido, tales como temperatura

Quiroz Meza Jorge Eliot

Grupo: 04

o velocidad, son calculadas en cada uno de estos volmenes como solucin de las ecuaciones fundamentales. Un mayor nmero de elementos necesita mayor capacidad computacional.

VII.

Experimentacin (ejemplo de una aplicacin real).

Ejecucin de Cuadrcula no estructurada resuelta con CFD en Modern Graphics Hardware Introduccin.
Se describen las tcnicas utilizadas para implementar un solucionador de red no estructurada en el software Modern Graphics Hardware. Se consideran las ecuaciones de Euler tridimensionales para fluido no viscoso, flujo compresible. El Ancho de banda de memoria efectiva se mejora mediante la reduccin de acceso total a la memoria global y la superposicin de clculo redundante, as como el uso de un esquema de numeracin apropiada y el diseo de datos. Tambin se considera la aplicabilidad de la memoria compartida por bloque. El rendimiento del solucionador se demuestra en dos casos de referencia: un misil y el ala NACA0012. Por una variedad de tamaos de malla, un factor de aceleracin promedio de ms o menos 9.5x se observa sobre el cdigo de OpenMP equivalente paralelizado que se ejecuta en una CPU de cuatro ncleos, y ms o menos 33x sobre el cdigo que se ejecuta en serie equivalente.

Desarrollo. 1. Euler Solver.


Consideramos las ecuaciones de Euler para fluido no viscoso, flujo compresible:

donde:

Quiroz Meza Jorge Eliot

Grupo: 04

Aqu y denotan, respectivamente, la densidad velocidades, la energa total, la presin y la relacin de calores especficos. Las ecuaciones se discretizn utilizando un esquema de clula-centrada y de volumen finito, de la forma:

donde:

voli denota el volumen del i-esimo elemento; s denota la normal de la cara; j es el elemento del ndice vecino; es un parmetro del control de calidad de la viscosidad artificial; y c es la velocidad del sonido.

2. Implementacin en Modern Graphics Hardware.


A. Visin del Conjunto.
La porcin de rendimiento crtico de la solucin consiste en un bucle que calcula repetidamente los tiempos derivados de las variables conservadas, dadas por la ecuacin (4). Las variables conservadas se actualizan a continuacin, utilizando un esquema de tiempo-escalonamiento Runge-Kutta explcito. El clculo ms caro consiste en la acumulacin de las contribuciones de flujo y la viscosidad artificial a travs de cada cara cuando se calculan las derivadas respecto al tiempo. Por lo tanto, el rendimiento del CUDA kernel que implementa este clculo es crucial en la determinacin de si o no se logra un alto rendimiento, y es el foco de esta seccin.

B. Clculo Redundante.
El clculo del tiempo derivado se paraleliza sobre una base por elemento, con un hilo por elemento. En primer lugar, cada hilo lee el volumen del elemento, junto con sus variables conservadas de memoria global, de la cual se calculan las cantidades derivadas, tales como la presin, la velocidad, la velocidad del sonido, y la contribucin del flujo. El ncleo es un bucle sobre cada una de las cuatro caras del elemento tetradrico, con el fin de acumular los flujos y la viscosidad artificial. La cara normal se lee junto con el ndice del elemento adyacente, donde se utiliza entonces este ndice para acceder a las variables conservadas del elemento adyacente. Las cantidades derivadas requeridas se calculan y entonces el flujo y la viscosidad artificial se acumulan en el residuo del elemento.

Quiroz Meza Jorge Eliot

Grupo: 04
Este enfoque requiere clculo redundante de las contribuciones de flujo, y otras cantidades derivadas de las variables conservadas. Otro enfoque posible es la primera contribucin del flujo de cada elemento pre calculado, evitando as tal clculo redundante. Sin embargo, este enfoque resulta ser ms lento por dos razones: La primera de las cuales es que, la lectura de las contribuciones de flujo requiere de tres veces la cantidad de acceso a la memoria global de slo lectura de las variables conservadas. La segunda es que el clculo redundante se puede realizar simultneamente con acceso a la memoria global, que oculta la alta latencia de acceso a memoria global. El rendimiento de diferencia entre cada enfoque se establece en la Seccin Resultados.

C. Esquema de Numeracin.
En el caso de una red estructurada, el acceso a la memoria global necesaria para la lectura de las variables conservadas de elementos vecinos est en riesgo de no fusionar, lo que se traduce en un mnimo error de la banda ancha de memoria efectiva. Esto se puede evitar sin embargo, si los elementos vecinos de elementos consecutivos estn cerca en la memoria. En particular, si para i = 1, 2, 3, 4, el vecino i-simo de cada elemento consecutivo es estrecha en la memoria a continuacin, se logra el acceso de memoria, como se implica por los requisitos de coalescencia para hardware de grficos con capacidad de clculo 1.2 o ms alto. Esto se consigue aqu en dos pasos: El primer paso es asegurar que los elementos cercanos en el espacio estn cerca en la memoria mediante el uso de un esquema de numeracin. El esquema de numeracin particular utilizado en este trabajo es el del esquema de numeracin descrito por Lhner. Este sistema funciona mediante la superposicin de una cuadrcula de cubos. Cada punto de la malla es asignado a un contenedor, y entonces los puntos se numeran asignando nmeros al atravesar los contenedores en un orden fijo. Con una numeracin en su lugar, la conectividad de cada elemento se clasifica a continuacin: A nivel local, de modo que los ndices de los cuatro vecinos de cada elemento tetradrico estn en orden creciente. Esto asegura que, por ejemplo, el segundo vecino de elementos consecutivos est cerca en la memoria. La posibilidad de ramificacin divergente, y por lo tanto el menor rendimiento de instruccin, surge desde varios casos especiales teniendo que ser consideradas a fin de hacer frente a las caras que se encuentran en los lmites del dominio computacional. En el presente caso, stos estn marcados mediante el almacenamiento de un ndice negativo en la matriz de conectividad que se refiere a la condicin del contorno particular deseado (por ejemplo, lmites ala, campo lejano, etc.). Esto da lugar a posibles ramificaciones, que no incurre en penalidad significativa en Modern Graphics Hardware, siempre y cuando todos los hilos dentro de un tnel (un grupo de 32 hilos consecutivos) tomen la misma rama. Para reducir al mnimo esta penalizacin, adems de haberse asegurado de que slo la primera cara de cada elemento puede ser una cara lmite, la numeracin binaria es modificada para asegurar que los elementos de borde se almacenan consecutivamente en la memoria, lo que significa que no puede haber como mximo dos urdimbres (conjunto de hilos) divergentes.

Quiroz Meza Jorge Eliot

Grupo: 04

D. Acceso a la memoria de datos dependientes y memoria compartida.


La memoria compartida es una caracterstica importante de Modern Graphics Hardware, usada para evitar la redundancia de acceso a memoria mundial entre los hilos dentro de un bloque. El hardware no realiza automticamente el uso de memoria compartida, y es el software quien especifica explcitamente cmo se debe usar la memoria compartida. Por lo tanto, la informacin debe estar disponible y especificada para as determinar que acceso de la memoria global puede ser compartido por mltiples hilos dentro de un bloque. Para resolver estructurados basados en la red, esta informacin se conoce primero debido al patrn de acceso a memoria fija de estos solucionadores. Por otra parte, el patrn de acceso a solucionadores no estructurados de la memoria y basados en cuadrcula, es dependiente de los datos. Con la base de la estructura de datos de conectividad por elemento considerados, esta informacin no se proporciona, por lo que la memoria compartida no es aplicable en este caso. En el caso de orden superior mtodos de Galerkin discontinuos con mltiples grados de libertad por elemento, el clculo puede ser descompuesto an ms para tener mltiples hilos para procesar un solo elemento, con lo que la memoria compartida es aplicable.

Resultados.
El rendimiento del cdigo de Unidades de Procesamiento Grfico (GPU), se midi en un prototipo NVIDIA Tesla de las GPU, apoyando la capacidad de clculo 1.3, con 24 multiprocesadores. El rendimiento de la CPU optimizada con cdigo OpenMP equivalente, y compilada con el Intel C + + Compiler, versin 11.0, se midi en un procesador Intel Core 2 Q9450 CPU, que ejecuta uno o cuatro hilos. 1.

El ala supersnica de flujo NACA0012 (M=1.2, =0) se utiliz como un


caso de prueba. La superficie de la malla se muestra en la Figura 1. Los contornos de presin se representan en la Figura 2. Las mediciones de temporizacin cuando se ejecutan en precisin simple se dan en la Figura 3 para una variedad de mallas, que muestra un factor de escala media de rendimiento de 9.4x en comparacin con el cdigo que se ejecuta en OpenMP cuatro ncleos y 32.6x en comparacin con el cdigo de OpenMP en un ncleo. El cdigo que se ejecuta en el hardware de grficos es ms rpido por un factor de 3.9x utilizando clculo redundante en comparacin con las contribuciones de flujo previamente calculadas. Las mediciones de temporizacin cuando se ejecutan en doble precisin se dan en la Figura 4 para una variedad de mallas, que muestra un factor de escala media de rendimiento de 1.56 veces en comparacin con el cdigo que se ejecuta en OpenMP cuatro ncleos y 4.7x en comparacin con el cdigo de OpenMP en un ncleo. Por otra parte, el cdigo que se ejecuta en el hardware de grficos es ms rpido por un factor de 1.1x utilizando clculo redundante en comparacin con las contribuciones de flujo pre-calculados.

Quiroz Meza Jorge Eliot

Grupo: 04

Figura 1. Superficie de la malla de NACA0012.

Figura 2. Contornos de Presin.

Figura 3. Mediciones de temporizacin


cuando se ejecutan en Precisin Simple.

Figura 4. Mediciones de temporizacin


cuando se ejecutan en Doble Precisin.

Quiroz Meza Jorge Eliot

Grupo: 04

2. El misil supersnico de flujo (M=1.2, =8) se utiliz como un caso de prueba


adicional. Los contornos de presin se representan en la Figura 5. Las mediciones de temporizacin, cuando se ejecutan en precisin simple, se dan en la Figura 7 para una variedad de mallas, que muestra un factor de escala media de rendimiento de 9.9x en comparacin con el cdigo que se ejecuta en OpenMP cuatro ncleos y 33.6x, y en comparacin con el cdigo de OpenMP en un ncleo. El cdigo que se ejecuta en el hardware de grficos es ms rpido por un factor de 3.4x utilizando clculo redundante en comparacin con las contribuciones de flujo pre calculadas. Las mediciones de temporizacin cuando se ejecutan en doble precisin se dan en la Figura 8 para una variedad de mallas, que muestra un factor de escala media de 2.5 veces el rendimiento en comparacin con el cdigo que se ejecuta en OpenMP cuatro ncleos y 7.4x en comparacin con el cdigo de OpenMP en un ncleo. Por otra parte, el cdigo que se ejecuta en el hardware de grficos es ms rpido por un factor de 1.63x utilizando clculo redundante en comparacin con las contribuciones de flujo pre-calculadas.

Figura 5. Contornos de presin

Figura 6. Mach-Number
obtenido en la superficie del misil.

Figura 7. Mediciones de temporizacin


cuando se ejecutan en Precisin Simple.

Figura 8. Mediciones de temporizacin


cuando se ejecutan en Doble Precisin.

Quiroz Meza Jorge Eliot Conclusiones y perspectivas.

Grupo: 04

Un aumento considerable del rendimiento se ha logrado mediante el uso de tcnicas efectivas que se aprovechan de los recursos computacionales de Modern Graphics Hardware. Con base en estos resultados, se espera que las GPU actuales y del futuro sean adecuada y ampliamente utilizadas para resolver problemas con prototipos no estructurados basados en cuadrcula. Tal orden de magnitud de aceleracin puede resultar en un aumento significativo en la escala y la complejidad de los problemas considerados en la CFD. Sin embargo, la ganancia de rendimiento es menos pronunciada en el caso de doble precisin, y se espera que las futuras versiones de hardware mejoren el rendimiento en doble precisin. Un solucionador ms avanzado se encuentra en desarrollo, est apoyado en la amortiguacin cuarto orden, solucionadores de Riemann aproximados, limitadores de flujo, y la computacin basada en borde.

VIII. Conclusiones. Gracias a la realizacin de este estudio de caso, el alumno puede obtener una nueva perspectiva acerca de la aplicacin del anlisis numrico en la Mecnica de Fluidos dentro de la Ingeniera. Se cumpli el objetivo de brindar informacin acerca de una aplicacin ingenieril de la CFD. Con este trabajo el alumno pudo comprender la diferencia entre Tesis y Estudio de Caso, ya que ambas pueden acreditar la titulacin de una carrera, pero Ingeniera es ms comn realizar un Estudio de Caso.

Bibliografa
Mott, Robert. Mecnica de fluidos aplicada (4 edicin). Mxico. Pearson Educacin. 1996. Fernndez Larraaga, Bonifacio. Introduccin a la mecnica de fluidos, 2 Ed. Mxico. Alfaomega, 1998.

Potter, Merle C. y Wiggert, David C. Mecnica de fluidos, 3 Ed. Mxico. Thompson, 2002.
http://web.cos.gmu.edu/~acorriga/pubs/gpu_cfd/aiaa_2009_4001.pdf