Efficient object-oriented implementation of boundary element software

  • Authors:
  • I. A. Jones;P. Wang;A. A. Becker;D. Chen;T. H. Hyde

  • Affiliations:
  • School of Mechanical, Materials, Manufacturing Engineering and Management, University of Nottingham, United Kingdom;School of Mechanical, Materials, Manufacturing Engineering and Management, University of Nottingham, United Kingdom;School of Mechanical, Materials, Manufacturing Engineering and Management, University of Nottingham, United Kingdom;School of Mechanical, Materials, Manufacturing Engineering and Management, University of Nottingham, United Kingdom;School of Mechanical, Materials, Manufacturing Engineering and Management, University of Nottingham, United Kingdom

  • Venue:
  • ICAAISE '01 Proceedings of the eighth international conference on The application of artificial intelligence to civil and structural engineering computing
  • Year:
  • 2001

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper describes an experiment in the writing of an object-oriented boundary element (BE) system in Microsoft Visual C++ intended to serve two substantially different purposes. One is the conventional (forward) BE system for the solution of solid mechanics problems to find stresses etc. from a known set of boundary conditions. The other is to implement an inverse BE technique to find the set of boundary conditions from photoelastic data that relate to the difference of principal stress and their orientations at chosen interior points.The initial attempt was to design the system as a "purist" object-oriented system in which container classes were used to represent all arrays, matrices etc. in order for the arrays to have in-built intelligence such as dynamic resizing. This was believed to be the reason for the running time of the program being typically two or more orders of magnitude slower than the corresponding FORTRAN program.The present design focuses on the construction of the BE Model class and its members: Element class and Node class etc. representing real-world entities. These describe the key features of a BE approach and can only be properly implemented using object-oriented programming technology. Conventional C/C++ array, pointer and reference data types are used inside classes and their derived classes. The resulting system not only has the advantages of the OOP technique but also more readable code and faster implementation CPU time even compared to the corresponding FORTRAN code.