Refinamiento h-adaptativo de mallas no estructuradas en problemas estacionarios y transitorios de flujos compresibles
Abstract
La presente tesis trata sobre el desarrollo, la implementación y aplicación de una estrategia de refinamiento adaptativo que permite resolver problemas estacionarios y transitorios de flujos compresibles mediante el método de elementos finitos sobre mallas no estructuradas. La estrategia de adaptación se concibe atendiendo a la calidad de la malla. Se llevan a cabo experiencias numéricas que permiten determinar un esquema de particionamiento para tetraedros que resulta conveniente desde el punto de vista de la calidad y del costo de refinamiento. La calidad de los elementos de la malla es evaluada utilizando una métrica de calidad algebraica, mientras que la calidad de la malla es analizada con un enfoque estadístico, asumiendo que la calidad de los elementos responde a una distribución normal. Las mallas que resultan del proceso de adaptación conservan el tipo de elemento y son no conformes. Luego, la presencia de nodos irregulares obliga a imponer restricciones en el refinamiento para que no exista una diferencia arbitraria en el tamaño de elementos vecinos pertenecientes a regiones con distinto grado de refinamiento. Estas restricciones permiten que el algoritmo de refinamiento sea formulado recursivamente. Por otro lado, dado que no se conoce la solución exacta del problema, se debe recurrir a técnicas de estimación del error en la solución aproximada para identificar las regiones del dominio computacional que necesitan ser refinadas. En este sentido, se describen e implementan dos de los métodos más usuales para la estimación a posteriori del error cuando el sistema de ecuaciones que gobierna el problema es hiperbólico. El código de adaptación de mallas se ejecuta secuencialmente en un nodo cualquiera (no necesariamente el servidor) de un cluster Beowulf, mientras que el programa que resuelve las ecuaciones del flujo se ejecuta en paralelo. La solución de las ecuaciones del flujo está basada en la implementación del método de elementos finitos estabilizado SUPG (Streamline-Upwind / Petrov-Galerkin). La formulación utiliza además técnicas de shock-capturing para el tratamiento de los choques. Dicha implementación es parte del solver multifísica PETSc-FEM desarrollado en el CIMEC (Centro Internacional de Métodos Computacionales en Ingeniería). Por otro lado, el algoritmo de adaptación se implementó en dos códigos. El primero de ellos se desarrolló en lenguaje scripting Octave y fue aplicado en la adaptación de mallas bidimensionales y tridimensionales en la etapa de desarrollo conceptual. Dadas las limitaciones de Octave en cuanto al manejo de los recursos computacionales, una implementación más eficiente se implementó en lenguaje C++. Para ello se recurrió al uso de los contenedores y algoritmos facilitados por las librerías de plantillas estándar (STL) y Boost. Ambos códigos se aplican en la resolución de problemas de flujos no viscosos y compresibles bidimensionales, axisimétricos y tridimensionales de gases perfectos sobre mallas no estructuradas de elementos finitos. Se evalúan la precisión en el cálculo de la solución, la calidad de las mallas adaptadas y la performance del código adaptativo. Los resultados numéricos son comparados con soluciones teóricas procedentes de la dinámica de gases y con resultados de ensayos experimentales. Finalmente se elaboran conclusiones sobre la estrategia de adaptación desarrollada y se proponen una serie de actividades a realizar en el futuro, destinadas a mejorar e incorporar nuevas capacidades a dicha estrategia. [Tesis presentada como parte de los requisitos de la Facultad de Ingeniería y Cs. Hídricas de la Universidad Nacional del Litoral para acceder al grado de Doctor en Ingeniería Mención en Mecánica Computacional. Defendida 2009-05-14]