Advertisement

Object-Oriented Construction of Parallel PDE Solvers

  • Michael Thuné
  • Eva Mossberg
  • Peter Olsson
  • Jarmo Rantakokko
  • Krister Åhlander
  • Kurt Otto

Abstract

An object-oriented approach is taken to the problem of formulating portable, easy-to-modify PDE solvers for realistic problems in three space dimensions. The resulting software library, Cogito, contains tools for writing programs to be executed on MIMD computers with distributed memory. Difference methods on composite, structured grids are supported. Most of the Cogito classes have been implemented in Fortran 77, in such a way that the object-oriented design is visible. With respect to parallel performance, these tools yield code that is comparable to parallel solvers written in plain Fortran 77. The resulting programs can be executed without modifications on a large number of multicomputer platforms, and also on serial computers.

The uppermost level of abstraction in Cogito decouples the numerical method from the PDE problem. The validity of these tools has been preliminarily demonstrated with a C++ implementation for one-dimensional problems.

Keywords

Grid Function Scientific Computing Abstract Data Type Composite Grid Implicit Finite Difference Method 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [1]
    E. Arge, et al. On the numerical efficiency of C++ in Scientific Computing. In M. Dæhlen and A. Tveito, editors, Mathematical Models and Software Tools in Industrial Mathematics,pages 93–119. Birkhäuser, 1997.Google Scholar
  2. [2]
    D. L. Brown and W. D. Renshaw. Overture: An advanced object-oriented software system for moving overlapping grid computations. Technical Report LA-UR-96–2931, Los Alamos National Laboratory, Los Alamos, NM, 1996.Google Scholar
  3. [3]
    A. M. Bruaset, E. Holm, and H. P. Langtangen. Increasing the efficiency and reliability of software development for systems of PDEs. In E. Arge, A. M. Bruaset, and H. P. Langtangen, editors, Modern Software Tools for Scientific Computing, pages 247–268. Birkhäuser, 1997.CrossRefGoogle Scholar
  4. [4]
    A. M. Bruaset and H. P. Langtangen. Object-oriented design of preconditioned iterative methods in Diffpack. To appear in Transactions on Mathematical Software,1997.Google Scholar
  5. [5]
    R. Enander. Grid patching and residual smoothing for computations of steady state solutions of first order hyperbolic systems PhD thesis Dept. of Scientific Computing, Uppsala University, Uppsala, Sweden, 1991.Google Scholar
  6. [6]
    B. Engquist. A sample of time dependent partial differential equations. Technical Report Internal Report 85–02, Dept. of Scientific Computing, Uppsala University, Uppsala, Sweden, 1985.Google Scholar
  7. [7]
    P. Fritzson, et al. Industrial application of object-oriented mathematical modeling and computer algebra in mechanical analysis. In Proceedings of the 7:th International Conference on Technology of Object-Oriented Languages and Systems: TOOLS EUROPE'92 Prentice-Hall, 1992.Google Scholar
  8. [8]
    S. Holmgren. Fast Solvers for First-Order PDE PhD thesis, Dept. of Scientific Computing, Uppsala University, Uppsala, Sweden, 1993.Google Scholar
  9. [9]
    S. Holmgren and K. Otto. A framework for polynomial preconditioners based on fast transforms I: Theory. Technical Report 167, Dept. of Scientific Computing, Uppsala University, Uppsala, Sweden, 1995.Google Scholar
  10. [10]
    S. Holmgren and K. Otto. A framework for polynomial preconditioners based on fast transforms II: PDE applications. Technical Report 168, Dept. of Scientific Computing, Uppsala University, Uppsala, Sweden, 1995.Google Scholar
  11. [11]
    P. Hãgglund, et al. Implementation of a PDE application in Object-Math and Cogito. Technical Report 5, Parallel and Scientific Computing Institute, Uppsala, Sweden, 1996.Google Scholar
  12. [12]
    J. F. Karpovich, et al. A parallel object-oriented framework for stencil algorithms. In Proceedings of the Second International Symposium on High-Performance Distributed Computing, pages 34–41, 1993.CrossRefGoogle Scholar
  13. [13]
    M. Lemke and D. Quinlan. P++, a parallel C++ array class library for architecture-independent development of structured grid applications. ACM SIGPLAN Notes, 28:21–23, 1993.CrossRefGoogle Scholar
  14. [14]
    E. Mossberg. Object-oriented software tools for the construction of preconditioners. Report in preparation.Google Scholar
  15. [15]
    G. Nelissen and P. F. Vankeirsbilck. Electrochemical modelling and software genericity. In E. Arge, A. M. Bruaset, and H. P. Langtangen, editors, Modern Software Tools for Scientific Computing, pages 81–104. Birkhäuser, 1997.CrossRefGoogle Scholar
  16. [16]
    P. Olsson. Object-oriented software tools for parallel computing with distributed memory. Report in preparation.Google Scholar
  17. [17]
    J. Rantakokko. Object-oriented software tools for composite-grid methods on parallel computers. Technical Report 165, Dept. of Scientific Computing, Uppsala University, Uppsala, Sweden, 1995.Google Scholar
  18. [18]
    J. V. W. Reynders, et al. POOMA: A framework for scientific simulation on parallel architectures. Available on Internet, http://www.acl.lanl.gov/PoomaFramework
  19. [19]
    J. Rumbaugh, et al. Object-Oriented Modeling and Design Prentice-Hall, Englewood Cliffs, NJ, 1991.Google Scholar
  20. [20]
    X. Sun and J. L. Gustafson. Towards a better parallel performance metric. Parallel Computing, 17:1093–1109, 1991.MATHCrossRefGoogle Scholar
  21. [21]
    M. ThunÅ and K. Ahlander. Towards an expressive language for PDE solvers. In H. Nielsen, editor, Programming Languages and Systems—ESOP ‘86, pages 373–386, Berlin, 1996. Springer-Verlag.Google Scholar
  22. [22]
    R. D. Williams. DIME++: A language for parallel PDE solvers. Technical Report CCSF-29–92, Caltech, Pasadena, CA, 1993.Google Scholar
  23. [23]
    K. Ahlander. An object-oriented approach to construct PDE solvers. Technical Report 180, Dept. of Scientific Computing, Uppsala University, Uppsala, Sweden, 1996.Google Scholar

Copyright information

© Springer Science+Business Media New York 1997

Authors and Affiliations

  • Michael Thuné
  • Eva Mossberg
  • Peter Olsson
  • Jarmo Rantakokko
  • Krister Åhlander
  • Kurt Otto
    • 1
  1. 1.Deptpartment of Scientific ComputingUppsala UniversityUppsalaSweden

Personalised recommendations