Increasing the Efficiency and Reliability of Software Development for Systems of PDEs
In this chapter we address an object-oriented strategy for the development of software solving systems of partial differential equations. The proposed development strategy encourages heavy reuse of modules capable of solving the involved subproblems. Using class inheritance for successive refinement of the involved solvers, the complexity of the overall model is increased stepwise, layer by layer. In addition to the obvious advantage of code reuse and modular testing, this approach allows the developer to pull the pieces apart at any time for individual verification.
KeywordsSoftware Development Base Class Primary Unknown Front Tracker Finite Element Grid
Unable to display preview. Download preview PDF.
- E. Arge, A. M. Bruaset, P. В. Calvin, J. F. Kanny, H. P. Langtangen, and C. T. Miller. On the efficiency of C++ in scientific computing. In M. Dæhlen and A. Tveito, editors, Numerical Methods and Software Tools in Industrial Mathematics, pages 93–119. Birkhäuser, 1997.Google Scholar
- J. J. Barton and L. R. Nackman. Scientific and Engineering C++. An Introduction with Advanced Techniques and Examples. Addison-Wesley, 1994.Google Scholar
- R. Beck, B. Erdman, and R. Roitzsch. An object-oriented adaptive finite element code: Design issues and applications in hyperthermia treatment planning. In E. Arge, A. M. Bruaset, and H. P. Langtangen, editors, Modern Software Tools for Scientific Computing, pages 105–124. Birkhäuser, 1997.CrossRefGoogle Scholar
- A. M. Bruaset and H. P. Langtangen. A comprehensive set of tools for solving partial differential equations; Diffpack. In M. Dæhlen and A. Tveito, editors, Numerical Methods and Software Tools in Industrial Mathematics,pages 63–92. Birkhäuser, 1997.Google Scholar
- X. Cai, B. F. Nielsen, and A. Tveito. An analysis of a preconditioner for the discretized pressure equation arising in reservoir simulation. Preprint 1995–4, Department of Informatics, University of Oslo, 1995. (Submitted for publication).Google Scholar
- Diffpack World Wide Web home page. URL: http://www.oslo.sintef.no./diffpack.
- K. Eriksson, D. Estep, P. Hansbo and C. Johnson. Computational Differential Equations. Studentlitteratur (Sweden) and Cambridge University Press (UK), 1996.Google Scholar
- FEMLAB World Wide Web home page. URL: http://www.math.chalmers.se/Research/Femlab.
- E. J. Holm and H. P. Langtangen. A unified mesh refinement technique with applications to porous media flow, 1997. (Submitted for publication).Google Scholar
- E. J. Holm and H. P. Langtangen A unified model for injection molding, 1997. (Journal paper in preparation).Google Scholar
- PETSc World Wide Web home page. URL: http://www.mcs.anl.gov/petsc/petsc.html.
- M. Metcalf and J. Reid. Fortran 90 Explained. Oxford Science Publications, 1992.Google Scholar
- B. Stroustrup. The C++ Programming Language. Addison-Wesley, 2nd edition, 1992.Google Scholar