Estudio de la escalabilidad en diferentes arquitecturas para el problema de Lattice – Boltzmann

Una de las problemáticas que se tiene actualmente en la mecánica de fluidos computacional conocido en sus siglas en inglés como CFD (Computational Fluid Dynamics) son los altos tiempos de ejecución de cada uno de los procesos y la cantidad de recursos computacionales que se requieren. Uno de los pro...

Full description

Autores:
Vargas Torres, María Alejandra
Tipo de recurso:
Trabajo de grado de pregrado
Fecha de publicación:
2023
Institución:
Universidad de los Andes
Repositorio:
Séneca: repositorio Uniandes
Idioma:
spa
OAI Identifier:
oai:repositorio.uniandes.edu.co:1992/73450
Acceso en línea:
https://hdl.handle.net/1992/73450
Palabra clave:
Lattice Boltzmann
Cavity Flow
Mathematica
Python
CFD
HPC
Paralelización
Diferencias Finitas
Ingeniería
Rights
openAccess
License
Attribution-NonCommercial 4.0 International
Description
Summary:Una de las problemáticas que se tiene actualmente en la mecánica de fluidos computacional conocido en sus siglas en inglés como CFD (Computational Fluid Dynamics) son los altos tiempos de ejecución de cada uno de los procesos y la cantidad de recursos computacionales que se requieren. Uno de los problemas que tienen estas características es el Cavity Flow, para su estudio se utilizó el método Lattice Boltzmann con sus aproximaciones de vorticidad y velocidad, ambas son altamente paralelizables, teniendo así que se buscó mejorar los tiempos de ejecución y a su vez, en la evaluación de la escalabilidad de la solución para diferentes contextos. Con la aproximación con la vorticidad se pudo comprobar que una estrategia viable para realizar la paralelización es dividir el dominio de estudio, teniendo que para algunas configuraciones se evidencia una mejora en los tiempos de ejecución. Mientras que con la velocidad se requiere buscar nuevas metodologías ya que la forma de abordar la paralelización no arrojó ninguna mejora. Finalmente, comparando las implementaciones en Python y Mathematica se encontró que para la velocidad se obtuvo una mejora de tiempos con el primer lenguaje, esto pudo ser resultado de las optimizaciones que tiene implementadas la librería numpy al realizar sus operaciones. Para el de vorticidad, la implementación en Python en la que se afecta cada elemento por separado suele ser más lento que la implementación que se encuentra en Mathematica.