Un Framework Orientado a Objetos para la Implementación de Métodos Discretos

Diego Santiago, Marco Dondero, Santiago Urquiza

Abstract


En este trabajo se describe una implementación orientada a objetos de un Framework para la resolución de problemas derivados de métodos discretos (Método de Elementos Finitos, Método de Diferencias Finitas, Método de Volúmenes Finitos, Método de Elementos de Contorno, etc). Se eligió el lenguaje de programación C++ como plataforma de desarrollo con el objetivo de obtener un código eficiente, fácilmente extensible y mantenible. Este desarrollo se basa en la arquitectura de un Framework preexistente implementado en Fortran del cual se reutilizan procedimientos vinculados al manejo de matrices, a la resolución de sistemas de ecuaciones, así como ciertas abstracciones de datos y lineamientos arquitectónicos. Se describen las principales abstracciones y clases que soportan la arquitectura, las que dan lugar a un diseño altamente modular, que cumple con el principio de inversión de control y que permite la reutilización total del programa principal, sin sufrir alteraciones, cuando se implementan diferentes formulaciones y métodos. Por último, se realizan estudios de desempeño y eficiencia computacional contrastando con la versión original en FORTRAN, sobre la base de casos adecuadamente elegidos. Los resultados obtenidos muestran que la versión en C++ no produce pérdidas apreciables de eficiencia mientras que representa un mejoramiento significativo en modularidad y extensibilidad, constituyéndose de esta manera, en una alternativa de gran potencial y versatilidad para la rápida implementación numérica de todo tipo de formulaciones, conservando los niveles de desempeño de los códigos de propósito específico.

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