Abstract
This chapter describes the ongoing work of applying modern software development techniques to a real-world computational fluid dynamics software package in the interdisciplinary project sEMPA. First results are given on a C++ implementation of the Fortran 77 algebraic multigrid solver of this package. The resulting benefits for this first prototype are the improved readability and increased flexibility of the code, but this first design and implementation also shows a significant increase in execution time. Efficiency improvements are discussed at the end of the chapter.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Ian G. Angus and W. Dan Curtis. From Fortran to Object Orientation: Experiences with a Production Flutter Analysis Code. In Proceedings of the Second Annual Object-Oriented Numerics Conference (OON-SKI’94),pages 174–180, April 24–27, 1994.
Peter Beckman, Dennis Gannon, and Elizabeth Johnson. Portable Parallel Programming in HPC++. In WWW, http://www.extreme.indiana.edu./hpc++/docs/ppphpc++/icpp.html
Grady Booch. Object Oriented Design With Applications. AddisonWesley, 2. edition, 1994.
Patrick Bridges, Nathan Doss, William Gropp, Edward Karrels, Ewing Lusk, and Anthony Skjellum. Users’ Guide to mpich, a Portable Implementation of MPI. Argonne National Laboratory, 9700 South Cass Avenue, Argonne, IL 60439–4801, July 1995.
Gregory D. Burns, Raja B. Daoud, and James R. Vaigl. LAM: An Open Cluster Environment for MPI. In Proceedings of the Supercomputing Symposium ‘84, Toronto, Canada, June 1994.
Lois Curfman, McInnes, and Barry F. Smith. PETSc 2.0: A case study of using MPI to develop numerical software libraries. In MPI Developers Conference, June, 1995.
Jack Dongarra, Ed D’Azevedo, and Jim Demmel. ScaLAPACK Project. In WWW, http://www.netlib.org/scalapack/index.html.
Jack Dongarra, Andrew Lumsdaine, Xinhui Niu, Roldan Pozo, and Karin Remington. Sparse Matrix Libraries in C++ for High Performance Architectures. In Proceedings of the Second Annual Object-Oriented Numerics Conference (90N-SKI’94), pages 122–138, April 24–27, 1994.
Al Geist, Adam Beguelin, Jack Dongarra, Weicheng Jiang, Robert Manchek, and Vaidy Sunderam. PVM: Parallel Virtual Machine — A Users’ Guide and Tutorial for Networked Parallel Computing. Scientific and Engineering Computation. The MIT Press, Cambridge, MA, 1994.
F. Guidec and J.-M. Jézéquel. Design of a Parallel Object-Oriented Linear Algebra Library. In K. M. Decker and R. M. Rehmann, editors, Programming Environments for Massively Parallel Distributed Systems,pages 359 — 364. Birkhäuser Verlag, 1994.
Werner Krötz. Entwurf und Implementierung einer objektorientierten Gleichungslösung in C++ zum Einsatz im industriellen Strömungssimulationsprogramm TASCflow. Diplomarbeit, Technische Universität München, August 1996.
P. Luksch, U. Maier, S. Rathmayer, F. Unger, and M. Weidmann. Parallelization of a State-of-the-Art Industrial CFD Package for Execution on Networks of Workstations and Massively Parallel Processors. In Third European PVM Users’ Group Meeting, EuroPVM 96, München, October 1996.
Peter Luksch, Ursula Maier, Sabine Rathmayer, and Matthias Weidmann. Software Engineering Methods for Parallel and Distributed Scientific Computing. In HPCN Europe 1996, Lecture Notes in Computer Science. Springer-Verlag, April 1996.
Ursula Maier. Verteilte Ressourcenverwaltung in einem Netzwerk von Workstations. Technical report, Technische Universität München, Institut fair Informatik, Lehrstuhl für Rechnertechnik und Rechneror-ganisation, August 1996.
Rebecca Parsons and Daniel Quinlan. A++/P++ Array Classes for Architecture Independent Finite Difference Computations. In Proceedings of the Second Annual Object-Oriented Numerics Conference (OON-SKI’94), pages 408–418, April 24–27, 1994.
Michael J. Raw. A Coupled Algebraic Multigrid Method for the 3D Navier-Stokes Equations. In Fast Solvers for Flow Problems, Proceedings of the 10th GAMM-Seminar, Notes on Numerical Fluid Mechanics Vol. 49. Vieweg-Verlag, Braunschweig, Wiesbaden, 1995.
Gregory V. Wilson and Paul Lu, editors. Parallel Pro-gramming Using C++. Scientific and Engineering Computa-tion. The MIT Press, http://www-mitpress.mit.edu:80/mitp/recentbooks/comp/wilrp.html, July 1996.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1997 Springer Science+Business Media New York
About this chapter
Cite this chapter
Weidmann, M. (1997). Object-Oriented Redesign of a Real-World Fortran 77 Solver. In: Arge, E., Bruaset, A.M., Langtangen, H.P. (eds) Modern Software Tools for Scientific Computing. Birkhäuser, Boston, MA. https://doi.org/10.1007/978-1-4612-1986-6_15
Download citation
DOI: https://doi.org/10.1007/978-1-4612-1986-6_15
Publisher Name: Birkhäuser, Boston, MA
Print ISBN: 978-1-4612-7368-4
Online ISBN: 978-1-4612-1986-6
eBook Packages: Springer Book Archive