Diseño Flexible Y Modular De Modelos Numéricos Basados En Elementos Finitos

Javier Quinteros, Pablo M. Jacovkis, Victor A. Ramos

Abstract


El diseño de un modelo numérico atraviesa diversas etapas hasta su puesta en funcionamiento
y la obtención de resultados satisfactorios. Para los modelos basados en Elementos Finitos, está claro
que es necesaria una correcta formulación del problema para asegurar que, desde un punto de vista
matemático, se obtendrá una solución. Nos referimos al planteo de las ecuaciones, su discretización y la
elección del elemento, entre otras.
Sin embargo, la etapa de diseño no concluye en las formulaciones matemáticas, sino que incluye
también el diseño del software. Una buena formulación matemática puede resultar en un programa de
pobre rendimiento si no se llevan a cabo las optimizaciones necesarias al momento de la implementación.
Es común que muchos investigadores codifiquen desde cero para modelar los problemas a resolver.
Entre los efectos inmediatos de esta práctica notamos: pérdida de tiempo en la codificación, falta de
generalidad en el planteo, repetición de errores comunes y desarrollo de código no modular, que dudosamente
pueda reutilizarse para problemas similares. Asimismo, cualquier corrección a la formulación
matemática será casi imposible una vez que el código se haya finalizado.
En este trabajo presentamos el diseño y la implementación de software totalmente modular y flexible
para la implementación de modelos basados en Elementos Finitos. Su potencialidad está basada en una
correcta modularización, donde para codificar la resolución de los problemas no es necesario conocer
la formulación elemental subyacente. Tampoco es necesario conocer en el nivel de la formulación la
implementación estrictamente computacional de operaciones matemáticas.
Este aislamiento en tres (o más) capas permite que se reutilicen grandes porciones de código para la
resolución de problemas que pueden ser totalmente distintos, o incluso cambiar los componentes de las
distintas capas sin variar el planteo del problema.
Damos un análisis detallado del diagrama de clases utilizado, su justificación y detalles de su implementación. Presentamos también un ejemplo real de un cambio de elemento utilizado y cómo es imperceptible
al momento de codificar la resolución del problema, mediante el apropiado uso de interfaces
definidas adecuadamente.

Full Text:

PDF



Asociación Argentina de Mecánica Computacional
Güemes 3450
S3000GLN Santa Fe, Argentina
Phone: 54-342-4511594 / 4511595 Int. 1006
Fax: 54-342-4511169
E-mail: amca(at)santafe-conicet.gov.ar
ISSN 2591-3522