Object-Oriented Construction of Parallel PDE Solvers
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.
KeywordsGrid Function Scientific Computing Abstract Data Type Composite Grid Implicit Finite Difference Method
Unable to display preview. Download preview PDF.
- 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
- 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
- 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
- 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
- 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
- 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
- S. Holmgren. Fast Solvers for First-Order PDE PhD thesis, Dept. of Scientific Computing, Uppsala University, Uppsala, Sweden, 1993.Google Scholar
- 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
- 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
- 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
- E. Mossberg. Object-oriented software tools for the construction of preconditioners. Report in preparation.Google Scholar
- P. Olsson. Object-oriented software tools for parallel computing with distributed memory. Report in preparation.Google Scholar
- 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
- J. V. W. Reynders, et al. POOMA: A framework for scientific simulation on parallel architectures. Available on Internet, http://www.acl.lanl.gov/PoomaFramework
- J. Rumbaugh, et al. Object-Oriented Modeling and Design Prentice-Hall, Englewood Cliffs, NJ, 1991.Google Scholar
- 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
- R. D. Williams. DIME++: A language for parallel PDE solvers. Technical Report CCSF-29–92, Caltech, Pasadena, CA, 1993.Google Scholar
- K. Ahlander. An object-oriented approach to construct PDE solvers. Technical Report 180, Dept. of Scientific Computing, Uppsala University, Uppsala, Sweden, 1996.Google Scholar