Skip to main content
Log in

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

  • Published:
Computing Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. ALUGrid Library. http://www.mathematik.uni-freiburg.de/IAM/Research/alugrid/

  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-1

  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–40

    Article  MATH  Google Scholar 

  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)

  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–174

    Google Scholar 

  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)

  7. Blatt M, Bastian P (2007) On the generic parallelisation of iterative solvers for the finite element method. Int J Comput Sci Eng (submitted)

  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–16

  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–96

    MATH  MathSciNet  Google Scholar 

  10. DUNE—distributed and unified numerics environment. http://dune-project.org/

  11. Eck C (1996) Existenz und Regularität der Lösungen für Kontaktprobleme mit Reibung. PhD Thesis, Universität Stuttgart

  12. Gamma E, Helm R, Johnson R, Vlissides J (1995) Design patterns: elements of reusable object-oriented software. Addison-Wesley, USA

    Google Scholar 

  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)

  14. Krause R, Sander O (2006) Automatic construction of boundary parametrizations for geometric multigrid solvers. Comp Vis Sci 9: 11–22

    Article  MathSciNet  Google Scholar 

  15. Kröner D (1997) Numerical schemes for conservation laws. Wiley-Teubner, Stuttgart

    MATH  Google Scholar 

  16. Musser D, Derge G, Saini A (2001) STL tutorial and reference guide. Addison-Wesley, USA. ISBN 0-201-37923-6

  17. Pflaum C (2001) Expression templates for partial differential equations. Comp Vis Sci 4(1): 1–8

    Article  MATH  Google Scholar 

  18. Schmidt A, Siebert K (2005) Design of adaptive finite element software—the finite element toolbox ALBERTA. Springer, Berlin

    MATH  Google Scholar 

  19. Schupp B (1999) Entwicklung eines effizienten Verfahrens zur Simulation kompressibler Strömungen in 3D auf Parallelrechnern. PhD Thesis, Mathematische Fakultät, Universität Freiburg

  20. Seymour J (1996) Views—a C++ standard template library extension. http://www.zeta.org.au/~jon/STL/views/doc/views.html

  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–56

    Google Scholar 

  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–767

    Chapter  Google Scholar 

  23. Vandevoorde D, Josuttis N (2003) C++ templates—the complete guide. Addison-Wesley, USA

    Google Scholar 

  24. Veldhuizen T (1999) Techniques for scientific C++. Technical report. http://extreme.indiana.edu/~tveldhui/papers/techniques/

  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–87

    Google Scholar 

  26. Visible Human Project. http://www.nlm.nih.gov/research/visible/visible_human.html

  27. Wohlmuth B, Krause R (2003) Monotone methods on nonmatching grids for nonlinear contact problems. SIAM J Sci Comp 25(1): 324–347

    Article  MATH  MathSciNet  Google Scholar 

  28. Woodward P, Colella P (1984) The numerical simulation of two-dimensional fluid flow with strong shocks. J Comput Phys 54: 115–173

    Article  MATH  MathSciNet  Google Scholar 

  29. Young R, MacPhedran I Internet finite element resources. http://homepage.usask.ca/~ijm451/finite/fe_resources/fe_resources.html

  30. Zienkiewicz O, Zhu J (1987) A simple error estimator and adaptive procedure for practical engineering analysis. Int J Numer Math Eng 24: 337–357

    Article  MATH  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to O. Sander.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Bastian, P., Blatt, M., Dedner, A. et al. A generic grid interface for parallel and adaptive scientific computing. Part II: implementation and tests in DUNE. Computing 82, 121–138 (2008). https://doi.org/10.1007/s00607-008-0004-9

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00607-008-0004-9

Keywords

Mathematics Subject Classification (2000)

Navigation