Computational & Technology Resources
an online resource for computational,
engineering & technology publications
Computational Science, Engineering & Technology Series
TRENDS IN PARALLEL, DISTRIBUTED, GRID AND CLOUD COMPUTING FOR ENGINEERING
Edited by: P. Iványi, B.H.V. Topping
Advanced Object-Oriented Paradigms for Parallel Computational Mechanics
D. Eyheramendy1,2, R. Saad2 and F. Oudin-Dardun3
1Ecole Centrale Marseille, France
D. Eyheramendy, R. Saad, F. Oudin-Dardun, "Advanced Object-Oriented Paradigms for Parallel Computational Mechanics", in P. Iványi, B.H.V. Topping, (Editors), "Trends in Parallel, Distributed, Grid and Cloud Computing for Engineering", Saxe-Coburg Publications, Stirlingshire, UK, Chapter 6, pp 135-157, 2011. doi:10.4203/csets.27.6
Keywords: domain decomposition, finite elements, concurrency and distribution in Java, symbolic variational formulation.
The problems of interest in mechanical engineering and related disciplines are getting more and more complex. This complexity involves several physics at different time and space scales. Moreover, in order to achieve accuracy on large scale simulations, high performance computing becomes mandatory. The latter brings an additional complexity to traditional computational tools. Since the 1990s, the application of object-oriented design in computational mechanics has proven to be very efficient in the development of flexible programs. Recently, several authors have presented advanced object-oriented finite element code using modern programming languages Java or C#, e.g. Nikishkov , Mackie , Eyheramendy . Simultaneously, since the 1970s, the use of algebraic manipulation software has always been a point of interest for finite element developments. Among the most recent developments, we can find those of Eyheramendy , Saad , Korelc , and Logg . In this paper, we focus on the global complexity of a computational mechanics application from the initial nonlinear boundary value problem to the implementation on a multiprocessors architecture. The key point of the presented approach is the integration of the whole step of the development of a finite element code within a single Java object-oriented paradigm, including the technical aspects of parallel programming. We propose in this paper a tentative unification of symbolic or numerical issues based on a Java paradigm. We present the key ideas of a Java application for parallel finite elements: concurrency and distribution. Some technical issues are described. This approach is based on the reusability of code and the portability of application in the case of parallel application. The key idea of the developments is that the parallel algorithms are programmed within the application using a single programming concept and a single language. We advocate that such an approach may reduce the complexity of computational tools when solving new engineering problems.
purchase the full-text of this chapter (price £20)