Abstract

Almost all approaches to solving partial differential equations (PDEs) are based upon a spatial discretization of the computational domain—a grid. This paper presents an algorithm to generate, store, and traverse a hierarchy of d-dimensional Cartesian grids represented by a $(k=3)$-spacetree, a generalization of the well-known octree concept, and it also shows the correctness of the approach. These grids may change their adaptive structure throughout the traversal. The algorithm uses $2d+4$ stacks as data structures for both cells and vertices, and the storage requirements for the pure grid reduce to one bit per vertex for both the complete grid connectivity structure and the multilevel grid relations. Since the traversal algorithm uses only stacks, the algorithm's cache hit rate is continually higher than 99.9 percent, and the runtime per vertex remains almost constant; i.e., it does not depend on the overall number of vertices or the adaptivity pattern. We use the algorithmic approach as the fundamental concept for a mesh management for d-dimensional PDEs and for a matrix-free PDE solver represented by a compact discrete $3^d$-point operator. In the latter case, one can implement a Jacobi smoother, a Krylov solver, or a geometric multigrid scheme within the presented traversal scheme which inherits the low memory requirements and the good memory access characteristics directly.

MSC codes

  1. 65M50
  2. 65M55
  3. 65N50
  4. 65N55

Keywords

  1. adaptive Cartesian grid
  2. cache efficiency
  3. multiscale
  4. octree
  5. partial differential equation
  6. spacetree
  7. space-filling curve

Get full access to this article

View all available purchase options and get full access to this article.

References

1.
H.-J. Bungartz, M. Mehl, T. Neckel, and T. Weinzierl, The PDE framework Peano applied to fluid dynamics: An efficient implementation of a parallel multiscale fluid dynamics solver on octree-like adaptive Cartesian grids, Comput. Mech., 46 (2010), pp. 103–114.
2.
C. Burstedde, O. Ghattas, M. Gurnis, T. Isaac, G. Stadler, T. Warburton, and L. C. Wilcox, Extreme-scale AMR, in SC '10: Proceedings of the 2010 ACM/IEEE International Conference for High Performance Computing, Networking, Storage and Analysis, IEEE Computer Society Press, Washington, DC, 2010, pp. 1–12.
3.
C. Burstedde, O. Ghattas, M. Gurnis, G. Stadler, E. Tan, T. Tu, L. C. Wilcox, and S. Zhong, Scalable adaptive mantle convection simulation on petascale supercomputers, in SC '08: Proceedings of the 2008 ACM/IEEE Conference on Supercomputing, IEEE Computer Society Press, Washington, DC, 2008, pp. 1–15.
4.
Y. Cui, K. B. Olsen, T. H. Jordan, K. Lee, J. Zhou, P. Small, D. Roten, G. Ely, D. K. Panda, A. Chourasia, J. Levesque, S. M. Day, and P. Maechling, Scalable earthquake simulation on petascale supercomputers, in SC '10: Proceedings of the 2010 ACM/IEEE International Conference for High Performance Computing, Networking, Storage and Analysis, IEEE Computer Society Press, Washington, DC, 2010, pp. 1–20.
5.
J. Dongarra, P. Beckman, P. Aerts, F. Cappello, T. Lippert, S. Matsuoka, P. Messina, T. Moore, R. Stevens, A. E. Trefethen, and M. Valero, The international exascale software project: A call to cooperative action by the global high-performance community, IJHPCA, 23 (2009), pp. 309–322.
6.
M. Griebel, Multilevelmethoden als Iterationsverfahren über Erzeugendensystemen, Teubner Skripten zur Numerik. Teubner, Dissertation, Technische Universität München, München, Germany, 1994.
7.
M. Griebel and G. Zumbusch, Parallel multigrid in an adaptive PDE solver based on hashing and space-filling curves, Parallel Comput., 25 (1999), pp. 827–843.
8.
F. Günther, Eine cache-optimale Implementierung der Finiten-Elemente-Methode, Dissertation, Institut für Informatik, Technische Universität München, München, Germany, 2004.
9.
J. Hartmann, Entwicklung eines cache-optimalen Finite-Element-Verfahrens zur Lösung d-dimensionaler Probleme, Diploma thesis, Institut für Informatik, Technische Universität München, München, Germany, 2004.
10.
J. Hron and S. Turek, Proposal for numerical benchmarking of fluid-structure interaction between elastic object and laminar incompressible flow, in Fluid-Structure Interaction, Lect. Notes Comput. Sci. Eng. 53, H.-J. Bungartz and M. Schäfer, eds., Springer-Verlag, Berlin, 2006, pp. 371–385.
11.
D. E. Keyes, Four horizons for enhancing the performance of parallel simulations based on partial differential equations, in Euro-Par '00: Proceedings of the 6th International Euro-Par Conference on Parallel Processing, Lecture Notes in Comput. Sci. 1900, A. Bode, T. Ludwig, W. Karl, and R. Wismüller, eds., Springer-Verlag, Berlin, 2000, pp. 1–17.
12.
M. Kowarschik and C. Weiß, An overview of cache optimization techniques and cache-aware numerical algorithms, in Algorithms for Memory Hierarchies 2002, U. Meyer, P. Sanders, and J. F. Sibeyn, eds., Springer-Verlag, Berlin, 2003, pp. 213–232.
13.
T. Neckel, The PDE Framework Peano: An Environment for Efficient Flow Simulations, Verlag Dr. Hut, Munich, 2009.
14.
M. Pögl, Entwicklung eines cache-optimalen 3D finite-element-verfahrens für große probleme, Fortschritt-Berichte VDI, Informatik Kommunikation 10, Vol. 745, VDI Verlag, Düsseldorf, 2004.
15.
H. Sagan, Space-Filling Curves, Springer-Verlag, New York, 1994.
16.
H. Samet, The quadtree and related hierarchical data structures, ACM Comput. Surveys, 16 (1984), pp. 187–260.
17.
R. S. Sampath, S. S. Adavani, H. Sundar, I. Lashuk, and G. Biros, Dendro: Parallel algorithms for multigrid and amr methods on 2:1 balanced octrees, in SC '08: Proceedings of the 2008 ACM/IEEE Conference on Supercomputing, IEEE Press, Piscataway, NJ, 2008, pp. 1–12.
18.
H. Sundar, R. S. Sampath, and G. Biros, Bottom-up construction and 2:1 balance refinement of linear octrees in parallel, SIAM J. Sci. Comput., 30 (2008), pp. 2675–2708.
19.
T. Tu, D. R. O'Hallaron, and O. Ghattas, Scalable parallel octree meshing for terascale applications, in SC '05: Proceedings of the 2005 ACM/IEEE Conference on Supercomputing, IEEE Computer Society Press, Washington, DC, 2005, p. 4.
20.
T. Weinzierl, A Framework for Parallel PDE Solvers on Multiscale Adaptive Cartesian Grids, Verlag Dr. Hut, Munich, 2009.

Information & Authors

Information

Published In

cover image SIAM Journal on Scientific Computing
SIAM Journal on Scientific Computing
Pages: 2732 - 2760
ISSN (online): 1095-7197

History

Submitted: 16 June 2010
Accepted: 23 February 2011
Published online: 27 October 2011

MSC codes

  1. 65M50
  2. 65M55
  3. 65N50
  4. 65N55

Keywords

  1. adaptive Cartesian grid
  2. cache efficiency
  3. multiscale
  4. octree
  5. partial differential equation
  6. spacetree
  7. space-filling curve

Authors

Affiliations

Metrics & Citations

Metrics

Citations

If you have the appropriate software installed, you can download article citation data to the citation manager of your choice. Simply select your manager software from the list below and click Download.

Cited By

Media

Figures

Other

Tables

Share

Share

Copy the content Link

Share with email

Email a colleague

Share on social media

The SIAM Publications Library now uses SIAM Single Sign-On for individuals. If you do not have existing SIAM credentials, create your SIAM account https://my.siam.org.