Mejora en la eficiencia de un código CFD en Julia para la resolución de flujo turbulento entre dos placas planas

[ES] En la industria aeronáutica el uso de herramientas precisas que permitan calcular las cargas aerodinámicas es esencial. La optimización de estas cargas puede repercutir de forma significativa a diferentes factores. Como, por ejemplo, al ahorro de combustible si se reduce la resistencia aerodiná...

Descripción completa

Detalles Bibliográficos
Autor: Becerra Zúñiga, Nicolás
Tipo de recurso: tesis de maestría
Fecha de publicación:2023
País:España
Institución:Universitat Politècnica de València (UPV)
Repositorio:RiuNet. Repositorio Institucional de la Universitat Politécnica de Valéncia
Idioma:español
OAI Identifier:oai:riunet.upv.es:10251/198358
Acceso en línea:https://riunet.upv.es/handle/10251/198358
Access Level:acceso abierto
Palabra clave:CFD
Codigo Julia
GPU
Eficiencia
Visual Studio
CUDA
Julia Code
Efficiency
INGENIERIA AEROESPACIAL
Máster Universitario en Ingeniería Aeronáutica-Màster Universitari en Enginyeria Aeronàutica
Descripción
Sumario:[ES] En la industria aeronáutica el uso de herramientas precisas que permitan calcular las cargas aerodinámicas es esencial. La optimización de estas cargas puede repercutir de forma significativa a diferentes factores. Como, por ejemplo, al ahorro de combustible si se reduce la resistencia aerodinámica o al ruido emitido por los motores si se aumenta la disipación del chorro de salida. Esta gran polivalencia en el ámbito aeronáutico del análisis de la mecánica de fluidos hace que sea un campo de estudio prolífero y en constante desarrollo. Desde que apareció la computación a mediados del siglo XX, se ha ido aplicando cada vez más a la industria para la resolución de la matemática más avanzada. Esto ha permitido la obtención de soluciones precisas que se acercan a la realidad y permiten sacar conclusiones útiles y veraces. No obstante, la limitación de la matemática numérica se encuentra en su propia naturaleza. Pues se basa en la discretización espacial y temporal de los problemas. Este origen, hace que, para un análisis exhaustivo, la nube de puntos a analizar en los problemas pueda alcanzar números exagerados (cien miles, millones). Esto es sinónimo de un aumento en los tiempos de cálculo relevantes, llegando a alcanzar incluso las semanas. En los últimos años se ha avanzado mucho al respecto, intentando acelerar los cálculos mediante la mejora la memoria de las Unidades Centrales de Procesamiento (CPUs) o con el uso de hardware externo a estas primeras, como es el caso de las Unidades de Procesamiento de Gráficos (GPUs). Con tal objetivo, el presente Trabajo Final de Máster se centra en la optimización de un Código de mecánica de Fluidos Computacional, el cual consiste en la simulación del flujo turbulento de un fluido entre dos placas inmóviles. Inicialmente se quiere migrar el código de Matlab a lenguaje de programación Julia, el cual es open source, para posteriormente acelerar los cálculos a través de Unidades Gráficas externas. Para finalmente analizar la mejora en la eficiencia y la velocidad de las soluciones. Inicialmente en este estudio se hará un análisis exhaustivo del código Matlab, explicando las ecuaciones de la Mecánica de Fluidos y la metodología numérica utilizada para su resolución. A continuación, se analizará por qué se ha seleccionado Julia como código viable para ello. Después, se hará un análisis sobre la computación con GPUs para finalmente realizar un análisis de los resultados obtenidos a través de estas mejoras (ofreciendo un compromiso entre precisión y coste computacional bajo).