Object-Oriented Programming Applied to the Finite Element Method Part I. General Concepts
Keywords:
object oriented languages, finite element method, programming patterns, constitutive equations, CAbstract
This paper examines the application of object-oriented programming techniques to the finite element method. First a tool library is briefly presented: it includes mathematical objects such as vector, matrix and tensor, as well as generic types such as array, list and encapsulated pointer. Design patterns are then presented. They allow the defining of reusable implementation strategies which help to obtain a flexible extensible code. Finally the paper demonstrates the use of the different patterns in the case of objects describing finite elements and object representing material behaviors.
Downloads
References
[ AAZ 93] K. AAzizou, J. BESSON, G. CAILLETAUD, F. HOURLIER. "Une approche
C++ du calcul par elements finis". In Colloques national en calcul des
structures, Giens, France, May 11-14, 1993. Hermes, Paris.
[BAT 82] K.J. BATHE. "Finite element procedures in engineering analysis". Prentice
Hall, Inc., 1982.
[BAT 91] J.L. BATOZ G. GHATT. "Modelisation des structures par elements finis,
J-Ill'. Hermes, 1991.
[ BES 88] J.-M. BESSON, M. JAEGER, 0. DEBORDES. "Homogeneisation de
composites a base de tissus de fibres" 0 In D. GAY c BORD, editors,
Composite Structures, pages 77-90, 20-22 June 1988.
[ BES 97] J. BESSON R. FOERCH. "Large Scale Object-Oriented Finite Element
Code Design". Computer Methods in Applied Mechanics and Engineering,
:165-187, 1997.
[ BES 98] J. BESSON, R. LE RICHE, R. FOERCH, G. CAILLETAUD. "Application of
object-oriented programming techniques to the finite element method.
Part II- Application to material Behaviors". Rewe europenne des
elements finis, to be published, 1998.
[BET 96] B.P. BETTIG R.P.S HAN. "An object-oriented framework for interactive
numerical analysis in a graphical user interface environment". Int. J. for
numerical methods in engineering, 39:2945-2971, 1996.
[ BOO 97] G. BoocH. "Des solutions objets". International Thomson Publishing
France, Paris, 1997.
[ BRE 92] P. BREITKOPF G. TouzoT. "Architecture des logiciels et langages de
modelisation". Revue Europeenne des elements finis, 1{3):333-368, 1992.
[CAR 94] A. CARDONA, I. KLAPKA, M. GERADIN. "Design of a new finite element
programming environment". Engineering computations, 11:365-381, 1994.
[COM 96] S. COMMEND T. ZIMMERMANN. "Finite element preprocessing with Java".
Technical Report, EPFL, 1996.
[ CON 89] E. CONTEST! G. CAILLETAUD. "Dest-Tiption of creep-pli!Sticity interaction
with non-unified constitutive equations". Nuclear Eng. and Design,
:265, 1989.
[DEB 91] R. DE BORST. "Simulation of strain localization: a reappraisal of the
Cosserat continuum". Eng. Computations, 8:317-332, 1991.
[DEL 85] H.G. DELORENZI. "Energy release rate calculations by the finite element
method". Engineering Fracture Mechanics, 1985.
[ DUB 92a] Y. DuBOIS-PELERIN, T. ZIMMERMANN, P. BOMME. "Object-oriented
finite element programming: II. A prototype program in Smalltalk".
Computer Methods in Applied Mechanics and Engineering, 98:361-397,
[ DUB 92bj Y.-D. DUBOIS-PELERIN. "Object-oriented finite elements: programming
concepts and implementation". PhD thesis, Ecole Polytechnique Federale
de Lausanne, 1992.
[DUB 93] Y. DUBOIS-PELERIN T. ZIMMERMANN. "Object-oriented finite element
programming: III. An efficient implementation in C++". Computer
Methods in Applied Mechanics and Engineering, 108:165-183, 1993.
[ FOE 97] R. FOERCH, J. BESSON, G. CAILLETAUD, P. PILVIN. "Polymorphic
Constitutive Equations in Finite Element Codes". Computer Methods in
Applied Mechanics and Engineering, 141:355-372, 1997.
[FOR 90] B.W.R. FORDE, Foschi R.O., Stiemer S.F.. "Object-Oriented Finite
Element Analysis". Computers 8 Structures, 34(3):355-374, 1990.
[FOR 97] S. FOREST. "Mechanics of Generalized Continua: Construction by
Homogeneization". In 4d'me Colloque de Metallurgie, Comportement
Mecanique et Effets d'Echelle, INSTN. to appear in Journal de Physique
IV., June 24-26, 1997.
[ GAJ 96] R.R. GAJEWSKI T. KowALCZYK. "A prototype object-{)riented finite
element method program: cla!:i!:l hierarchy and gTaphic user interface".
Computer assisted mechanics and engineering science, 3:65-74, 1996.
[ GAM 94] E. GAMMA, R. HELM, R. JOHNSON, J. VLISSIDES. "Design Patterns:
elements of reusable object-oriented software". Addison Wesley
professional computing series, 1994.
[HAN 94] S.W. HANEY. "Is C++ fi!St enough for scientific computing?". Computers
in physics, 8(6), 1994.
[HUG 80] J.R. HuGHES. "Generalization of selective integration procedures to
anisotropic and non linear media". Int. J. Numerical Methods in
Engineering, 15:1413-1418, 1980.
[ KON 95] X.A. KONG D.P. CHEN. "An object-oriented design of FEM programs".
Computers 8 Structures, 57:157-166, 1995.
[ LAF 97] C. LAFFRA. "Advanced Java". Prentice Hall PTR, 1997.
[ LER 97] L. LE RICHE, F. FEYEL, J. BESSON, G. CAILLETAUD, M. GUTMANN,
R. FOERCH. "L'objet materiau, de l'identification au calcul de structures".
In J.P. Pelle B. PESEUX, D. Aubry M. TOURATIER, editors, Actes du
'Iroisieme Colloque National en Calcul des Structures, pages 583-588.
Presses Academiques de !'Ouest, 20-23 Mai 1997 1997.
[ LUC 92] D. LucAs, B. DRESSLER, D. AUBRY. "Object-oriented finite element
programming using the ADA language". In Ch. Hirsch et AL., editor,
Numerical Methods in Engineering'92, pages 591-598. Elsevier Sdence
Publishers B.V., 1992.
[ LUC 94] D. LUCAS. "Methode des elements finis et programmation orientee objet.
Utilisation du langage Ada". PhD thesis, Ecole Centrale de Paris, 1994.
[ MAC 92] R.I. MACKIE. "Object-oriented programming of the finite element
method". Int. J. for Numerical Methods in Engineering, 35:424-436, 1992.
[ MEH 97] K. MEHLHORN, S. NAHER, C UHRIG. "The LEDA User Manual, version
5.1"' 1997.
[MEN 93] P. MENihREY T. ZIMMERMANN. "Object-Oriented Non-Linear Finite
Element Analysis: Application to J2 Plasticity''. Computers & Structures,
:767-777, 1993.
[MIL 88] G.R. MILLER. "A LISP-Based Object-Oriented Approach to Structural
Analysis". Engineering with Computers, 4:197-203, 1988.
[ PAR 74] D.M. PARKS. "A stiffness deriv-"tive finite element technique for
determination of crack tip stress intensity factors". Int. J. Fracture,
( 4):487-502, 1974.
[RIC 68] J.R. RICE. "A path independant integral and the approximate analysis
of strain concentration by notched and !..Tacks". J. Appl. Mech., 35:379,
[ RIK 79] E. RIKS. "An inl.Temental approach to the solution of snapping and
buckling problems". Int. J. Solids Structures, 15:529-551, 1979.
[RUM 91] J. RUMBAUGH, M. BLAHA, w. PREMERLANI, F. EDDY, w. LORENSEN.
"Object-Oriented Modeling and Design". Prentice Hall, New Jersey, 1991.
[SAl 95] K. SAl G. CAILLETAUD. "Study of Plastic/Viscoplastic Models with
Various Inelastic Mechanisms". Int J. Plasticity, 11(8):991-1005, 1995.
[ SCH 92] S.-P. SCHOLZ. "Elements of an Object-Oriented FEM++ program in
C++". Computers & Structures, 43:517-529, 1992.
[ SIM 85] J.C. SIMO R.L. TAYLOR. "Consistent tangent operators for rateindependent
elastoplastidty". Computer Methods in Applied Mechanics
and Engineering, 48:101-118, 1985.
[ STR 86] B. STROUSTRUP. "The C++ progmmming language". Addison-Wesley
Publishing, Reading, Mas., 1986.
[ STR 88] B. STROUSTRUP. "What is object-oriented programming ?''. IEEE
Software, 5:10-20, 1988.
[ STR 94] B. STROUSTRUP. "The Design and Evolution of C++". Addison-Wesley
Publishing Company, Inc., Reading, Mass, 1994.
[ VER 88] P. VERPEAUX, T. CHARRAS, A. MILLARD. "CASTEM 2000: une approche
modeme du calcul des structure!!". In J.M. FOUET, P. LADEVEZE,
R. OYAHON, editors, Conference, Calcul des Structures et Intelligence
Artificielle, volume 2. Pluralis, 1988.
( WAL 96] L. WALTERTHUM. "Programmation orientee objet et calculs par ~lements
finis. Application d la conception d'un logiciel de simulation en mise en
forme des materiaui'. PhD thesis, Universite de Franche-Comte, 1996.
[ ZIM 92] T. ZIMMERMANN, Y. DuBOIS-PELERIN, P. BOMME. "Object-oriented finite
element programming: I. Governing principles". Computer Methods in
Applied Mechanics and Engineering, 98:291-303, 1992.