Computational & Technology Resources
an online resource for computational,
engineering & technology publications
Civil-Comp Proceedings
ISSN 1759-3433
CCP: 80
PROCEEDINGS OF THE FOURTH INTERNATIONAL CONFERENCE ON ENGINEERING COMPUTATIONAL TECHNOLOGY
Edited by: B.H.V. Topping and C.A. Mota Soares
Paper 89

Domain Decomposition Methods: .NET, Objects, Elements and Algorithms

R.I. Mackie

Civil Engineering, Faculty of Engineering and Physical Sciences, University of Dundee, United Kingdom

Full Bibliographic Reference for this paper
R.I. Mackie, "Domain Decomposition Methods: .NET, Objects, Elements and Algorithms", in B.H.V. Topping, C.A. Mota Soares, (Editors), "Proceedings of the Fourth International Conference on Engineering Computational Technology", Civil-Comp Press, Stirlingshire, UK, Paper 89, 2004. doi:10.4203/ccp.80.89
Keywords: domain decomposition, object-oriented programming, finite element analysis, distributed processing.

Summary
Domain decomposition methods are very applicable to finite element analysis, and are well-suited to distributed computing. Distributed computing is related to parallel computing in that additional computing power is realised by using several processors to carry out the calculations involved in numerical calculations. The key feature of distributed computing is that the calculations are allocated to separate computers; typically these computers will be on the same network. There has long been an interest in distributed computing as most organisations and offices have networks of computers, and the power of these computers is largely under-utilised. Therefore distributed computing offers the potential to harness some of this power. The internet offers further possibilities for distributed computing. The fundamental difference between parallel and distributed computing is that inter-processor communication costs are significantly greater for distributed computing than they are for parallel computing. Therefore distributed computing is concerned with breaking the calculations down into large segments, rather than parallelising at lower levels. Domain decomposition methods are ideally suited for achieving this [1,2].

The main difficulties that limit the extent to which using distributed computing on PC's are (i) the need to have some form of communication and remote method invocation; and (ii) the additional complexity that is introduced to the software. Two existing technologies that allow a cluster of PC's to be used are PVM and MPI, but an important recent development in recent years has been the advent of the .NET framework for Windows. The crucial element of .NET is distributed computing, which lies at the heart of its design, and it greatly simplifies the implementation of network and internet computing. In order for distributed computing to be more widely used in scientific computing on PC's generally applicable distributed frameworks need to be developed. The object-oriented paradigm and the .NET framework, which is itself object-oriented, offer the potential for developing generally applicable distributed solution frameworks.

The objectives of the paper are:

  1. To investigate the suitability of the .NET framework as a technology for implementing distributed computing in scientific computing. This will be examined from both a software engineering perspective, and in terms of computational efficiency.
  2. To investigate the design of suitable classes for implementing distributed solution methods in finite element analysis.
Domain decomposition methods will be looked at in two situations:
  1. Direct linear simultaneous equation solvers;
  2. Iterative linear simultaneous equation solvers.
The key features of the software design are:
  • The equation solvers have no direct knowledge of the fact that the objects they is using maybe remote objects.
  • The only direct effect on programming of an object being a remote object is in its creation. Thereafter the programming follows exactly as if the object existed locally.
  • Separate classes are used for each source of complexity. Mixing two sources of complexity in a single class usually leads to much less flexible software.
  • The software makes use of interfaces, and this plays an important

Various tests were carried out on a network of 2.4 MHz Pentium IV computers. Excellent speed-up was achieved for the direct solvers. Speed-up was less good for the iterative solver on smaller problems, but improved the larger the problem was. Even so, the speed-up was still significant for reasonably large problems, and the use of distributed solution vastly increased the size of problem that could be tackled.

It is concluded that the .NET framework is a viable technology for implementing distributed computing on networks of personal computers. The object-oriented nature of the framework means that software engineering is relatively straightforward, and .NET is also viable from an execution speed viewpoint.

References
1
Chadha, H.S. and Baugh, J.W., "Network-distributed finite element analysis", Advances in Engineering Software, 25, 267-280, 1996. doi:10.1016/0965-9978(95)00095-X
2
Chen, H-M. and Archer, G.C., "A distributed object-oriented finite-element analysis program architecture", Computer-Aided Civil and Infrastructure Engineering, 165, 326-336, 2001. doi:10.1111/0885-9507.00236
3
R.I. Mackie, "Distributed Finite Element Analysis and the .NET Framework", in Proceedings of the Ninth International Conference on Civil and Structural Engineering Computing, B.H.V. Topping, (Editor), Civil-Comp Press, Stirling, United Kingdom, paper 136, 2003. doi:10.4203/ccp.77.136

purchase the full-text of this paper (price £20)

go to the previous paper
go to the next paper
return to the table of contents
return to the book description
purchase this book (price £95 +P&P)