Abstract
This chapter presents an alternative approach to the design of numerical software exemplified by a finite element system. The design is introduced in the context of current approaches (procedural and object-oriented) to the numerical software development. Its salient features are (1) the ability to express commonalities between algorithmic structures and (2) the explicit treatment of the dependency between metadata and data involved in the computation. By capturing this dependency within a general metaobject protocol, the effort to instantiate general algorithms in a variety of settings is minimized Furthermore, the implementation of an abstract algorithm is more straightforward than in the usually applied object-oriented design. Better correspondence between the mathematical formulation and the computer code is demonstrated by two interesting issues: the amount of dynamic processing during the computation is reduced and a user interface for the produced application is constructed automatically.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
E. Arge, A. M. Bruaset, P. B. Calvin, J. F. Kanney, H. P. Langtangen, and C. T. Miller. On the efficiency of C++ for scientific computing. In M. Dwhlen and A. Tveito, editors, Mathematical Models and Software Tools in Industrial Mathematics, pages 93–119. Birkhäuser, 1997.
R. Barrett, M. Berry, T. F. Chan, J. Demmel, J. Donato, J. Dongarra, V. Eijkhout, R. Pozo, C. Romine, and H. Van der Vorst. Templates for the Solution of Linear Systems: Building Blocks for Iterative Methods. SIAM, Philadelphia, PA, 1994.
J. Barton and L. R. Nackman. Scientific and Engineering C++: an Introduction with Advanced Techniques and Examples. Addison-Wesley, 1995.
R. Chudoba. Sensitivity Analysis of RC Framed Structures: Object-Oriented Approach. PhD thesis, Czech Technical University Prague, November 1996.
R. Chudoba, P. Krysl, and Z. Bittnar. Explicit finite element computations: Object-oriented approach. In Proceedings of the VI. Int. Conf. on Corp. in Civil and Building Engng., pages 139–145, Berlin, 1995. Balkema Publishers.
P. Coad and E. Yourdon. Object-Oriented Analysis. Prentice-Hall, 1991.
P. Demmert. Strategien zur objektorientierten Modelierung von Aufgabenstellungen der numerischen Tragwerksanalyse. PhD thesis, Ruhr-University Bochum, 1995.
Y. Dubois-Pelèrin, T. Zimmermann, and P. Bomme. Object-oriented finite element programming: Ii. a prototype program in smalltalk. Comp. Meth. in Appl. Mech. Engng., 98(3):361–397, 1992.
G. J. Kiczales, M. J. Ashley, L. Rodriguez, A. Vandat, and D. G. Bobrow. Metaobject protocols: Why we want them and what else they can do. Object Oriented Programming: The CLOS Perspective,1993.
A. Stepanov and M. Lee. The standard template library. Technical report, Hewlett Packard Company, 1995.
B. Stroustrup. The Design and Evolution of C++. Addison-Wesley, 1994.
T. Veldhuizen. Expression templates. C++ Report, 7(5), June 1995.
T. Veldhuizen. Template metaprograms. C++ Report, 7(4), May 1995.
O. C. Zienkiewicz and Taylor. The Finite Element Method, fourth ed., volume 1. Prentice Hall, Inc., 1991.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1997 Springer Science+Business Media New York
About this chapter
Cite this chapter
Chudoba, R. (1997). Finite Element Kernel with Metaobject Protocol. In: Arge, E., Bruaset, A.M., Langtangen, H.P. (eds) Modern Software Tools for Scientific Computing. Birkhäuser, Boston, MA. https://doi.org/10.1007/978-1-4612-1986-6_7
Download citation
DOI: https://doi.org/10.1007/978-1-4612-1986-6_7
Publisher Name: Birkhäuser, Boston, MA
Print ISBN: 978-1-4612-7368-4
Online ISBN: 978-1-4612-1986-6
eBook Packages: Springer Book Archive