Herramientas de resolución y visualización en problemas de elementos finitos

López García, Enrique (2017). Herramientas de resolución y visualización en problemas de elementos finitos. Proyecto Fin de Carrera / Trabajo Fin de Grado, E.T.S.I. Industriales (UPM).

Descripción

Título: Herramientas de resolución y visualización en problemas de elementos finitos
Autor/es:
  • López García, Enrique
Director/es:
  • Sanz Lorenzo, Luis
Tipo de Documento: Proyecto Fin de Carrera/Grado
Grado: Grado en Ingeniería en Tecnologías Industriales
Fecha: Septiembre 2017
Materias:
Palabras Clave Informales: problemas 2D, problemas 3D, mallado, conducción del calor, stokes, viga a flexión, Poisson
Escuela: E.T.S.I. Industriales (UPM)
Departamento: Matemáticas del Área Industrial
Licencias Creative Commons: Reconocimiento - Sin obra derivada - No comercial

Texto completo

[img]
Vista Previa
PDF (Document Portable Format) - Se necesita un visor de ficheros PDF, como GSview, Xpdf o Adobe Acrobat Reader
Descargar (4MB) | Vista Previa

Resumen

La dificultad de los cálculos a los que se ha de enfrentar un ingeniero para resolver los problemas de cualquier proyecto ha ido aumentando progresivamente, hasta llegar a límites en los que no es posible su resolución por métodos analíticos tradicionales. Es por esto que se desarrollaron, y se siguen mejorando, los llamados “métodos numéricos”: herramientas de cálculo alternativas a la resolución analítica, basadas en el cálculo aproximado mediante reglas matemáticas sencillas. Estos métodos numéricos se perfeccionaron y tomaron mayor importancia con la llegada de los ordenadores, los cuales abrían la posibilidad de realizar gran cantidad de cálculos de manera rápida. Así, surgieron diferentes programas de cálculo numérico para la resolución de problemas ingenieriles. En este proyecto nos centraremos en el Método de los Elementos Finitos (MEF) para resolver Ecuaciones en Derivadas Parciales y, en este ámbito, cabe destacar programas de carácter muy relevante hoy día para la ingeniería como Ansys, Abaqus, etc. Estos programas están desarrollados por empresas y requieren grandes esfuerzos para su creación, mejora y mantenimiento, lo que redunda en un alto coste en la compra de licencias para el usuario. Además, estos programas son de código cerrado, con lo que el usuario no puede introducir modificaciones y mejoras en el código. Otro tipo de programas, gratuitos y de código abierto, han sido creados en los últimos años con la revolución informática por usuarios independientes o grupos universitarios. Estas aplicaciones gratuitas se diferencian de otras de pago, principalmente, por detalles como una interfaz menos cuidada, menos potencia o mayores limitaciones de cálculo. Entre esas diferencias, la mayor suele ser que estos programas ofrecen altas prestaciones solo en un área, es decir, en el caso de solucionadores por elementos finitos, existen generadores de geometrías, malladores, solucionadores de cálculos y visualizadores/postprocesadores.Los diferentes tipos de programas específicos hacen mención a las diferentes etapas del MEF. Éste consiste en un potente método de análisis numérico para el cálculo aproximado de la solución de ecuaciones en derivadas parciales complejas, que se basa en la aproximación del problema dado por otro problema planteado en un espacio de dimensión finita. Para resolver este problema aproximado se divide (se malla) el recinto de trabajo en diferentes elementos, se toma una base del espacio en cuestión y, mediante un procedimiento determinado, se obtiene un sistema de ecuaciones algebraicas cuya solución proporciona el valor de la solución aproximada en cada nudo de la malla. Así, la primera etapa es crear una correcta división de la geometría, una malla, que nos permita obtener los resultados con un buen equilibrio entre precisión y esfuerzo computacional. Después, se lleva a cabo la resolución del problema, en la que se utilizan cuadraturas numéricas y la resolución de grandes sistemas de ecuaciones algebraicas. Finalmente, es necesaria una correcta visualización y postprocesado de los resultados para poder apreciar los resultados calculados como valores techo, etc. Particularmente en los casos de dominios tridimensionales, esta necesidad de herramientas de visualización de calidad se acentúa. Esto se debe a que dominios de una o dos dimensiones son fáciles de apreciar e interpretar en el plano coordenado, donde podemos observar todo detalle sin mayor complicación. Sin embargo, para geometrías en el espacio, esto se complica por la dificultad de representar un dominio 3D en un plano o una pantalla 2D sin profundidad. Herramientas como cortes por planos, proyección sobre planos y similares, contenidas en las aplicaciones de visualización ayudan a facilitar la compresión e interpretación de los resultados. Esto motiva la búsqueda de programas de este tipo con funciones avanzadas por parte de usuarios del MEF. El objetivo de este proyecto es el estudio de diferentes herramientas relacionadas con el MEF, poniendo especial énfasis en la visualización gráfica de resultados y llevando a cabo un estudio comparativo de diferentes herramientas de visualización aplicadas a la resolución de diversos problemas clásicos de la ingeniería. El énfasis de este proyecto en la visualización de resultados está plenamente justificado. La correcta visualización de la solución del cálculo MEF es de suma importancia para interpretar los resultados numéricos obtenidos. Por ello, el ingeniero necesita tener a su disposición distintas técnicas de visualización-postproceso, especialmente en el caso de recintos 3D y en las regiones de difícil acceso. Como herramienta básica de trabajo para el cálculo por elementos finitos en este proyecto se ha trabajado con FreeFem++, software gratuito escrito en C++ y que abarca todas las fases del MEF, siendo el mallado y la visualización posibles puntos a complementar con otras aplicaciones. Como programas de visualización se ha abordado en primer lugar Mayavi2, elección parcialmente motivada por ser un software programado en Python, lenguaje con cada vez más adeptos en el mundo científico y empresarial. Sin embargo, debido a las limitaciones encontradas en el proyecto durante el uso de Mayavi2 se decidió estudiar paralelamente Gmsh, que además de módulo de visualización, es conocido por sus buenas prestaciones en cuanto a generador de mallas, muy por encima de FreeFem++ en este aspecto. Mediante FreeFem++ es posible resolver problemas de ecuaciones diferenciales utilizando C++, lenguaje de programación de uso común. FreeFem dispone de un conjunto de comandos de lenguaje propio que facilitan la interacción con el usuario, con lo que la resolución de un problema no comporta una excesiva cantidad de líneas de código. En FreeFem el usuario debe introducir la formulación débil del problema y se dispone de distintas funciones para llevar a cabo el mallado del recinto y la resolución del problema, obteniéndose así el valor de la solución en los nudos del mallado. También se puede llevar a cabo un modelado 2D o 3D de la solución en el apartado gráfico ofrecido por FreeFem++. Mayavi2 es un software gratuito relacionado con la visualización y postproceso de datos, ya sean estos obtenidos como soluciones numéricas de un problema u obtenidos mediante mediciones como, por ejemplo, datos topográficos. Este programa está escrito en Python y permite llevar a cabo la visualización y el postproceso mediante una interfaz interactiva y dinámica. También se puede trabajar a través de programación para conseguir los resultados de visualización deseados. Además ofrece la posibilidad de leer archivos en formato VTK, librería ampliamente utilizada y de formato conocido. Finalmente, se ha trabajado con Gmsh, programa para generar mallas bi y tridimensionales. Este software fue concebido para resolver problemas en el ámbito académico, pero sus continuas mejoras lo han trasladado también fuera de estos entornos. Es también un software libre, escrito en C++ y multiplataforma. Gmsh se presenta dividido en cuatro módulos: un módulo geométrico para la creación de recintos; un generador de mallas con diferentes opciones de geometrías; (líneas, triángulos, tetraedros, prismas, hexaedros y pirámides); un módulo solucionador, que implica la llamada a aplicaciones externas, pues no posee solucionador como tal; y un cuarto módulo de postprocesado ligado a la visualización con múltiples alternativas. Así pues, durante este proyecto fin de grado se ha estudiado el funcionamiento de FreeFem++, Mayavi y Gmsh como alternativa gratuita a los grandes programas comerciales relacionados con el MEF. Tras introducir la formulación particular de algunos problemas ingenieriles, se estudiará el tratamiento de la entrada de datos en FreeFem++ para magnitudes escalares y vectoriales 2D/3D, así como la salida de la solución y los datos de la malla obtenida. Para ilustrar el funcionamiento del software se estudian problemas de diversa índole para apreciar las diferencias en cuanto a salida y entrada de datos. Para casos bidimensionales se tratará el problema de una viga bidimensional en estado de deformación plana; el problema de la conducción del calor en una placa plana y el problema de Stokes. Para los casos tridimensionales se tratará nuevamente un caso de elasticidad, una viga tridimensional sometida a su peso propio, así como una biela como ejemplo muy visual y conocido; el problema de Stokes para recintos tridimensionales y por último las ecuaciones de Poisson en geometrías con dificultad de visualización en el recinto interior de las mismas (cavidades y geometrías macizas voluminosas). Una vez desarrollada la programación necesaria para la introducción del problema en FreeFem++, se estudiará la salida gráfica proporcionada por el software y las posibilidades que ofrece en cuanto a postprocesado y trabajo con los resultados. Sin embargo, las posibilidades de trabajo con la solución en la interfaz gráfica aportada por FreeFem++ son limitadas, motivo por el cuál se utilizará la salida numérica obtenida para llevar el postprocesado a Mayavi2 y Gmsh donde se tratarán estos datos para poder estudiar los resultados de manera gráfica mediante diferentes métodos de visualización como la discretización de valores, modificación de las formas de representación, cortes por planos para volúmenes macizos etc. Los resultados obtenidos en este proyecto aclaran las dificultades y posibilidades encontradas en los diferentes programas utilizados: Como resultado del estudio de FreeFem++ se pone de manifiesto su potencia y rapidez para el cálculo de soluciones, incluso cuando hay un gran número de nodos. Sin embargo, se descubre: A. La ausencia de diferentes morfologías de elementos de malla (solo permite mallar triángulos y tetraedros).B. La dificultad para introducir las geometrías al ser necesaria su programación mediante ecuaciones paramétricas.C. La definición de mallados en problemas tridimensionales es mucho más complicada que en el casi de aplicaciones de mallado visual (como Gmsh).D. Ofrece una interfaz gráfica aceptable (sin módulos específicos de visualización) en casos bidimensionales aunque algo escasa en casos tridimensionales donde no es capaz de representar valores vectoriales con dirección y sentido. Como resultados de la investigación de Mayavi2, en comparativa con Gmsh en cuanto a módulos de visualización y postprocesado, se han apreciado ciertas ventajas a favor de Gmsh. Mayavi2 ofrece grandes posibilidades, sobre todo debido a su lenguaje de programación, Python, el cual tiene a su disposición gran cantidad de aplicaciones y librerías libres. Además, de abrir archivos en formatos de texto (.vtk) se puede trabajar con figuras a través de scripts de Python, lo que puede proporcionar ventajas en algunos casos. Sin embargo, en cuanto a herramienta de visualización y postprocesado con importación de datos externos, Gmsh ofrece más calidad de visualización y módulos de postproceso, así como una facilidad mayor para la ejecución de éstos. Para la obtención de estos resultados, se ha realizado una intensiva búsqueda de información en la red, así como un minucioso trabajo con los programas para su entendimiento y correcto manejo. Ha de reseñarse la escasa documentación existente sobre Mayavi2, prácticamente inexistente fuera de la propia página web del programa. Además, para la correcta interconexión de estos programas entre sí, ha sido necesario el estudio y la programación de diferentes scripts en Python y en C que permitieran la compatibilidad de formatos de entrada y de salida de dichos programas. Estos formatos son diferentes y, a menudo, muestran incompatibilidades sustanciales. Por ejemplo, con el objeto de usar la salida de FreeFem++ en Mayavi2 ha habido que trabajar con una entrada mediante el formato .vtk.

Más información

ID de Registro: 48849
Identificador DC: http://oa.upm.es/48849/
Identificador OAI: oai:oa.upm.es:48849
Depositado por: Biblioteca ETSI Industriales
Depositado el: 21 Dic 2017 08:49
Ultima Modificación: 21 Dic 2017 08:49
  • Open Access
  • Open Access
  • Sherpa-Romeo
    Compruebe si la revista anglosajona en la que ha publicado un artículo permite también su publicación en abierto.
  • Dulcinea
    Compruebe si la revista española en la que ha publicado un artículo permite también su publicación en abierto.
  • Recolecta
  • e-ciencia
  • Observatorio I+D+i UPM
  • OpenCourseWare UPM