Object-oriented programming of adaptive finite element and finite volume methods
Loading...
Date
Journal Title
Journal ISSN
Volume Title
Publisher
DOI
10.1016/S0168-9274(96)00044-X
Abstract
This article describes an object-oriented implementation of the finite element method and the finite volume method in a unified adaptive system using the programming language C++. The system applies to various types of mathematical model problems. Traditionally, different numerical methods for different types of problems are implemented independently by procedural languages such as C and Fortran. Moreover, adaptive analysis programs are more complicated than nonadaptive programs. Nevertheless, these methods share many common properties such as linear system solvers, data structures, a posteriori error analyses, and refinement processes. Some advantageous features of object-oriented programming are demonstrated through the integration of these properties in the adaptive system. New data types of objects specific to adaptive methods are also introduced. The system is well-structured, extendable, and maintainable due mainly to the nature of encapsulation and inheritance of object-oriented programming.