Computing

, Volume 82, Issue 2–3, pp 121–138 | Cite as

A generic grid interface for parallel and adaptive scientific computing. Part II: implementation and tests in DUNE

  • P. Bastian
  • M. Blatt
  • A. Dedner
  • C. Engwer
  • R. Klöfkorn
  • R. Kornhuber
  • M. Ohlberger
  • O. Sander
Article

Abstract

In a companion paper (Bastian et al. 2007, this issue) we introduced an abstract definition of a parallel and adaptive hierarchical grid for scientific computing. Based on this definition we derive an efficient interface specification as a set of C++ classes. This interface separates the applications from the grid data structures. Thus, user implementations become independent of the underlying grid implementation. Modern C++ template techniques are used to provide an interface implementation without big performance losses. The implementation is realized as part of the software environment DUNE (http://dune-project.org/). Numerical tests demonstrate the flexibility and the efficiency of our approach.

Keywords

DUNE Hierarchical grids Software Abstract interface Generic programming C++ Finite elements Finite volumes 

Mathematics Subject Classification (2000)

65N30 65Y05 68U20 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
  2. 2.
    Bangerth W (2000) Using modern features of C++ for adaptive finite element methods: Dimension-independent programming in deal II. In: Deville M, Owens R (eds). Proceedings of the 16th IMACS world congress 2000, Lausanne, Switzerland, 2000. Document Sessions/118-1Google Scholar
  3. 3.
    Bastian P, Birken K, Johannsen K, Lang S, Neuss N, Rentz-Reichert H, Wieners C (1997) UG—A flexible software toolbox for solving partial differential equations. Comp Vis Sci 1: 27–40MATHCrossRefGoogle Scholar
  4. 4.
    Bastian P, Blatt M, Dedner A, Engwer C, Klöfkorn R, Ohlberger M, Sander O (2007) A generic grid interface for parallel and adaptive scientific computing. Part I. Abstract framework. Computing (this issue) (in preparation)Google Scholar
  5. 5.
    Bastian P, Droske M, Engwer C, Klöfkorn R, Neubauer T, Ohlberger M, Rumpf M (2004) Towards a unified framework for scientific computing. In: Kornhuber R, Hoppe R, Keyes D, Périaux J, Pironneau O, Xu J(eds) Proceedings of the 15th conference on domain decomposition methods, no 40 in LNCSE. Springer, Berlin, pp 167–174Google Scholar
  6. 6.
    Blatt M, Bastian P (2006) The iterative solver template library. In: Proceedings of the workshop on state-of-the-art in scientific and parallel computing. Lecture notes in scientific computing. Springer, Berlin (accepted)Google Scholar
  7. 7.
    Blatt M, Bastian P (2007) On the generic parallelisation of iterative solvers for the finite element method. Int J Comput Sci Eng (submitted)Google Scholar
  8. 8.
    Burri A, Dedner A, Klöfkorn R, Ohlberger M (2005) An efficient implementation of an adaptive and parallel grid in DUNE. Technical report, Submitted to: Proceedings of the 2nd Russian-German advanced research workshop on computational science and high performance computing, Stuttgart, March 14–16Google Scholar
  9. 9.
    Dedner A, Rohde C, Schupp B, Wesenberg M (2004) A parallel, load balanced MHD code on locally adapted, unstructured grids in 3D. Comp Vis Sci 7: 79–96MATHMathSciNetGoogle Scholar
  10. 10.
    DUNE—distributed and unified numerics environment. http://dune-project.org/
  11. 11.
    Eck C (1996) Existenz und Regularität der Lösungen für Kontaktprobleme mit Reibung. PhD Thesis, Universität StuttgartGoogle Scholar
  12. 12.
    Gamma E, Helm R, Johnson R, Vlissides J (1995) Design patterns: elements of reusable object-oriented software. Addison-Wesley, USAGoogle Scholar
  13. 13.
    Kornhuber R, Krause R, Sander O, Deuflhard P, Ertel S (2006) A monotone multigrid solver for two body contact problems in biomechanics. Comp Vis Sci (accepted for publication)Google Scholar
  14. 14.
    Krause R, Sander O (2006) Automatic construction of boundary parametrizations for geometric multigrid solvers. Comp Vis Sci 9: 11–22CrossRefMathSciNetGoogle Scholar
  15. 15.
    Kröner D (1997) Numerical schemes for conservation laws. Wiley-Teubner, StuttgartMATHGoogle Scholar
  16. 16.
    Musser D, Derge G, Saini A (2001) STL tutorial and reference guide. Addison-Wesley, USA. ISBN 0-201-37923-6Google Scholar
  17. 17.
    Pflaum C (2001) Expression templates for partial differential equations. Comp Vis Sci 4(1): 1–8MATHCrossRefGoogle Scholar
  18. 18.
    Schmidt A, Siebert K (2005) Design of adaptive finite element software—the finite element toolbox ALBERTA. Springer, BerlinMATHGoogle Scholar
  19. 19.
    Schupp B (1999) Entwicklung eines effizienten Verfahrens zur Simulation kompressibler Strömungen in 3D auf Parallelrechnern. PhD Thesis, Mathematische Fakultät, Universität FreiburgGoogle Scholar
  20. 20.
    Seymour J (1996) Views—a C++ standard template library extension. http://www.zeta.org.au/~jon/STL/views/doc/views.html
  21. 21.
    Sick J, Lumsdane A (2000) A modern framework for portable high-performance numerical linear algebra. In: Langtangen H, Bruaset A, Quak E(eds) Advances in software tools for scientific computing, vol 10. Lecture notes in computational science and engineering. Springer, Berlin, pp 1–56Google Scholar
  22. 22.
    Stalling D, Westerhoff M, Hege H-C (2005) Amira: a highly interactive system for visual data analysis. In: Hansen C, Johnson C(eds) The visualization handbook, chap 38. Elsevier, Amsterdam, pp 749–767CrossRefGoogle Scholar
  23. 23.
    Vandevoorde D, Josuttis N (2003) C++ templates—the complete guide. Addison-Wesley, USAGoogle Scholar
  24. 24.
    Veldhuizen T (1999) Techniques for scientific C++. Technical report. http://extreme.indiana.edu/~tveldhui/papers/techniques/
  25. 25.
    Veldhuizen T (2000) Blitz++: the library that thinks it is a compiler. In: Langtangen H, Bruaset A, Quak E(eds) Advances in Software tools for scientific computing, vol 10. Lecture notes in computational science and engineering. Springer, Berlin, pp 57–87Google Scholar
  26. 26.
  27. 27.
    Wohlmuth B, Krause R (2003) Monotone methods on nonmatching grids for nonlinear contact problems. SIAM J Sci Comp 25(1): 324–347MATHCrossRefMathSciNetGoogle Scholar
  28. 28.
    Woodward P, Colella P (1984) The numerical simulation of two-dimensional fluid flow with strong shocks. J Comput Phys 54: 115–173MATHCrossRefMathSciNetGoogle Scholar
  29. 29.
    Young R, MacPhedran I Internet finite element resources. http://homepage.usask.ca/~ijm451/finite/fe_resources/fe_resources.html
  30. 30.
    Zienkiewicz O, Zhu J (1987) A simple error estimator and adaptive procedure for practical engineering analysis. Int J Numer Math Eng 24: 337–357MATHCrossRefMathSciNetGoogle Scholar

Copyright information

© Springer-Verlag 2008

Authors and Affiliations

  • P. Bastian
    • 1
  • M. Blatt
    • 1
  • A. Dedner
    • 2
  • C. Engwer
    • 1
  • R. Klöfkorn
    • 2
  • R. Kornhuber
    • 3
  • M. Ohlberger
    • 4
  • O. Sander
    • 3
  1. 1.Institut für Parallele und Verteilte SystemeUniversität StuttgartStuttgartGermany
  2. 2.Abteilung für Angewandte MathematikUniversität FreiburgFreiburgGermany
  3. 3.Institut für MathematikFreie Universität BerlinBerlinGermany
  4. 4.Institut für Numerische und Angewandte MathematikUniversität MünsterMünsterGermany

Personalised recommendations