Increasing the Efficiency and Reliability of Software Development for Systems of PDEs

  • Are Magnus Bruaset
  • Erik Jarl Holm
  • Hans Petter Langtangen

Abstract

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.

Keywords

Convection Enthalpy Mold Hydrocarbon Advection 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [1]
    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
  2. [2]
    S. Balay, W. Gropp, L. C. McInnes, and B. F. Smith. Efficient management of parallelism in object-oriented numerical software libraries. In E. Arge, A. M. Bruaset, and H. P. Langtangen, editors, Modern Software Tools for Scientific Computing, pages 163–202. Birkhäuser, 1997.CrossRefGoogle Scholar
  3. [3]
    J. J. Barton and L. R. Nackman. Scientific and Engineering C++. An Introduction with Advanced Techniques and Examples. Addison-Wesley, 1994.Google Scholar
  4. [4]
    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
  5. [5]
    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
  6. [6]
    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
  7. [7]
    Diffpack World Wide Web home page. URL: http://www.oslo.sintef.no./diffpack.
  8. [8]
    K. Eriksson, D. Estep, P. Hansbo and C. Johnson. Computational Differential Equations. Studentlitteratur (Sweden) and Cambridge University Press (UK), 1996.Google Scholar
  9. [9]
    FEMLAB World Wide Web home page. URL: http://www.math.chalmers.se/Research/Femlab.
  10. [10]
    E. J. Holm and H. P. Langtangen. A unified mesh refinement technique with applications to porous media flow, 1997. (Submitted for publication).Google Scholar
  11. [11]
    E. J. Holm and H. P. Langtangen A unified model for injection molding, 1997. (Journal paper in preparation).Google Scholar
  12. [12]
    PETSc World Wide Web home page. URL: http://www.mcs.anl.gov/petsc/petsc.html.
  13. [13]
    M. Metcalf and J. Reid. Fortran 90 Explained. Oxford Science Publications, 1992.Google Scholar
  14. [14]
    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
  15. [15]
    B. F. Nielsen and A. Tveito. On the approximation of the solution of the pressure equation by changing the domain. SIAM J. Appl. Math., 57:15–33, 1997.MathSciNetMATHCrossRefGoogle Scholar
  16. [16]
    J. R. Rice and R. F. Boisvert. From scientific software libraries to problem-solving environments. IEEE Comp. Sci. & Engrg., 3:44–53, 1996.CrossRefGoogle Scholar
  17. [17]
    B. Stroustrup. The C++ Programming Language. Addison-Wesley, 2nd edition, 1992.Google Scholar
  18. [18]
    M. Thuné, E. Mossberg, P. Olsson, J. Rantakokko, K. Åhlander, and K. Otto. Object-oriented construction of parallel PDE solvers. In E. Arge, A. M. Bruaset, and H. P. Langtangen, editors, Modern Software Tools for Scientific Computing, pages 203–226. Birkhäuser, 1997.CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media New York 1997

Authors and Affiliations

  • Are Magnus Bruaset
    • 1
  • Erik Jarl Holm
    • 2
  • Hans Petter Langtangen
    • 3
  1. 1.SINTEF Applied MathematicsOsloNorway
  2. 2.Institute for Energy TechnologyKjellerNorway
  3. 3.Dept. of MathematicsUniversity of OsloOsloNorway

Personalised recommendations