Object-oriented Fortran 90 P-adaptive finite element method

Over the last decade, there has been an increased awareness of the benefits of employing Object-Oriented (OO) design and methodologies for development of software. Among the various languages available for OO development, Fortran 95 has some clear advantages for scientific and engineering programming. It offers features similar to other OO languages like C++ and Smalltalk as well as extensive and efficient numerical abilities. This paper will describe the OO design and implementation of P-adaptive finite element analysis (FEA) using Fortran. We will demonstrate how various OO principles were successfully employed to achieve greater flexibility, easier maintainability and extensibility. This is helpful for a complex program like an adaptive finite element implementation.

[1]  J. E. Akin,et al.  Finite Elements for Analysis and Design , 1994 .

[2]  Boleslaw K. Szymanski,et al.  Expressing object-oriented concepts in Fortran 90 , 1997, FORF.

[3]  O. C. Zienkiewicz,et al.  The superconvergent patch recovery (SPR) and adaptive finite element refinement , 1992 .

[4]  Boleslaw K. Szymanski,et al.  How to support inheritance and run-time polymorphism in Fortran 90 , 1998 .

[5]  Mandeep Singh Object-oriented implementation of p-adaptive finite element method , 1999 .

[6]  Thomas Zimmermann,et al.  Object-oriented finite element programming: I: Governing principles , 1992 .

[7]  ZimmermannThomas,et al.  Object-oriented finite element programming: I , 1992 .

[8]  J. Z. Zhu,et al.  The superconvergent patch recovery and a posteriori error estimates. Part 1: The recovery technique , 1992 .

[9]  Thomas Zimmermann,et al.  Object-oriented finite element in programming: II: A prototype program in Smalltalk , 1992 .

[10]  Ren-Chuen Chen,et al.  Object-oriented programming of adaptive finite element and finite volume methods , 1996 .

[11]  G. Yu Object-oriented models for numerical and finite element analysis , 1994 .

[12]  Thomas Zimmermann,et al.  Object-oriented finite element programming: III. An efficient implementation in C++ , 1993 .

[13]  O. C. Zienkiewicz,et al.  A simple error estimator and adaptive procedure for practical engineerng analysis , 1987 .

[14]  Ted Belytschko,et al.  Superconvergent patch recovery with equilibrium and conjoint interpolant enhancements , 1994 .

[15]  Pierre Pegon,et al.  Improving modularity in object-oriented finite element programming , 1997 .

[16]  Ricardo O. Foschi,et al.  Object-oriented finite element analysis , 1990 .