{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,11]],"date-time":"2026-03-11T01:45:59Z","timestamp":1773193559314,"version":"3.50.1"},"reference-count":78,"publisher":"Association for Computing Machinery (ACM)","issue":"2","license":[{"start":{"date-parts":[[2019,4,18]],"date-time":"2019-04-18T00:00:00Z","timestamp":1555545600000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.acm.org\/publications\/policies\/copyright_policy#Background"}],"funder":[{"name":"RSC Group who granted us early access to their KNL machines"},{"name":"European Unions Horizon 2020 research and innovation programme","award":["671698 (ExaHyPE)"],"award-info":[{"award-number":["671698 (ExaHyPE)"]}]},{"name":"Hamilton HPC Service of Durham University"},{"name":"GCS Supercomputer SuperMUC at Leibniz Supercomputing Centre"}],"content-domain":{"domain":["dl.acm.org"],"crossmark-restriction":true},"short-container-title":["ACM Trans. Math. Softw."],"published-print":{"date-parts":[[2019,6,30]]},"abstract":"<jats:p>We discuss the design decisions, design alternatives, and rationale behind the third generation of Peano, a framework for dynamically adaptive Cartesian meshes derived from spacetrees. Peano ties the mesh traversal to the mesh storage and supports only one element-wise traversal order resulting from space-filling curves. The user is not free to choose a traversal order herself. The traversal can exploit regular grid subregions and shared memory as well as distributed memory systems with almost no modifications to a serial application code. We formalize the software design by means of two interacting automata\u2014one automaton for the multiscale grid traversal and one for the application-specific algorithmic steps. This yields a callback-based programming paradigm. We further sketch the supported application types and the two data storage schemes realized before we detail high-performance computing aspects and lessons learned. Special emphasis is put on observations regarding the used programming idioms and algorithmic concepts. This transforms our report from a \u201cone way to implement things\u201d code description into a generic discussion and summary of some alternatives, rationale, and design decisions to be made for any tree-based adaptive mesh refinement software.<\/jats:p>","DOI":"10.1145\/3319797","type":"journal-article","created":{"date-parts":[[2019,4,19]],"date-time":"2019-04-19T16:56:23Z","timestamp":1555692983000},"page":"1-41","update-policy":"https:\/\/doi.org\/10.1145\/crossmark-policy","source":"Crossref","is-referenced-by-count":38,"title":["The Peano Software\u2014Parallel, Automaton-based, Dynamically Adaptive Grid Traversals"],"prefix":"10.1145","volume":"45","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-6208-1841","authenticated-orcid":false,"given":"Tobias","family":"Weinzierl","sequence":"first","affiliation":[{"name":"Department of Computer Science, Durham University, Durham, Great Britain"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"320","published-online":{"date-parts":[[2019,4,18]]},"reference":[{"key":"e_1_2_1_1_1","unstructured":"M. Adams P. Colella D. T. Graves J. N. Johnson N. D. Keen T. J. Ligocki D. F. Martin P. W. McCorquodale D. Modiano P. O. Schwartz T. D. Sternberg and B. Van Straalen. 2016b. Chombo\u2014Software for Adaptive Solutions of Partial Differential Equations. Retrieved from https:\/\/commons.lbl.gov\/display\/chombo.  M. Adams P. Colella D. T. Graves J. N. Johnson N. D. Keen T. J. Ligocki D. F. Martin P. W. McCorquodale D. Modiano P. O. Schwartz T. D. Sternberg and B. Van Straalen. 2016b. Chombo\u2014Software for Adaptive Solutions of Partial Differential Equations. Retrieved from https:\/\/commons.lbl.gov\/display\/chombo."},{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1137\/140975127"},{"key":"e_1_2_1_3_1","doi-asserted-by":"publisher","DOI":"10.1145\/1048935.1050202"},{"key":"e_1_2_1_4_1","volume-title":"Space-Filling Curves\u2014An Introduction with Applications in Scientific Computing. Texts in Computational Science and Engineering","author":"Bader M."},{"key":"e_1_2_1_5_1","unstructured":"M. Bader M. Dumbser A.-A. Gabriel H. Igel L. Rezzolla and T. Weinzierl. 2015. ExaHyPE\u2014An Exascale Hyperbolic PDE solver Engine. Retrieved from http:\/\/www.exahype.org.  M. Bader M. Dumbser A.-A. Gabriel H. Igel L. Rezzolla and T. Weinzierl. 2015. ExaHyPE\u2014An Exascale Hyperbolic PDE solver Engine. Retrieved from http:\/\/www.exahype.org."},{"key":"e_1_2_1_6_1","unstructured":"Satish Balay Shrirang Abhyankar etal 2016. PETSc Web page. Retrieved from http:\/\/www.mcs.anl.gov\/petsc.  Satish Balay Shrirang Abhyankar et al. 2016. PETSc Web page. Retrieved from http:\/\/www.mcs.anl.gov\/petsc."},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/2049673.2049678"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1515\/jnma-2016-1045"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/1268776.1268779"},{"key":"e_1_2_1_10_1","doi-asserted-by":"publisher","DOI":"10.1007\/s00607-008-0003-x"},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1007\/s00607-008-0004-9"},{"key":"e_1_2_1_12_1","doi-asserted-by":"crossref","volume-title":"Adaptive Control Processes: A Guided Tour","author":"Bellman R.","DOI":"10.1515\/9781400874668"},{"key":"e_1_2_1_13_1","doi-asserted-by":"publisher","DOI":"10.1002\/nla.382"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1007\/3-540-46438-7"},{"key":"e_1_2_1_15_1","doi-asserted-by":"publisher","DOI":"10.1090\/S0025-5718-1977-0431719-X"},{"key":"e_1_2_1_16_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.future.2009.05.011"},{"key":"e_1_2_1_17_1","doi-asserted-by":"publisher","DOI":"10.1007\/s00466-011-0626-1"},{"key":"e_1_2_1_18_1","doi-asserted-by":"publisher","DOI":"10.1007\/s00466-009-0436-x"},{"key":"e_1_2_1_19_1","doi-asserted-by":"publisher","DOI":"10.1007\/11823285_112"},{"key":"e_1_2_1_20_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-540-69389-5_25"},{"key":"e_1_2_1_21_1","unstructured":"C. Burstedde J. Holke and T. Isaac. 2017. Bounds on the Number of Discontinuities of Morton-type Space-filling Curves. Technical Report. arXiv:1505.05055.  C. Burstedde J. Holke and T. Isaac. 2017. Bounds on the Number of Discontinuities of Morton-type Space-filling Curves. Technical Report. arXiv:1505.05055."},{"key":"e_1_2_1_22_1","doi-asserted-by":"publisher","DOI":"10.1137\/100791634"},{"key":"e_1_2_1_23_1","doi-asserted-by":"crossref","unstructured":"D. E.\n      Charrier\n     and \n      T.\n      Weinzierl\n  . \n  2017\n  . An experience report on (auto-)tuning of mesh-based PDE solvers on shared memory systems. In Proceedings of the International Conference on Parallel Processing and Applied Mathematics (PPAM\u201917) R. Wyrzykowski J. Dongarra E. Deelman and K. Karczewski (Eds\n  .) Lecture Notes in Computer Science Vol. \n  10778\n  . 3--13.  D. E. Charrier and T. Weinzierl. 2017. An experience report on (auto-)tuning of mesh-based PDE solvers on shared memory systems. In Proceedings of the International Conference on Parallel Processing and Applied Mathematics (PPAM\u201917) R. Wyrzykowski J. Dongarra E. Deelman and K. Karczewski (Eds.) Lecture Notes in Computer Science Vol. 10778. 3--13.","DOI":"10.1007\/978-3-319-78054-2_1"},{"key":"e_1_2_1_24_1","unstructured":"D. E. Charrier and T. Weinzierl. 2018. Stop talking to me - A communication-avoiding ADER-DG realisation. (2018). arXiv:1801.08682.  D. E. Charrier and T. Weinzierl. 2018. Stop talking to me - A communication-avoiding ADER-DG realisation. (2018). arXiv:1801.08682."},{"key":"e_1_2_1_25_1","doi-asserted-by":"publisher","DOI":"10.5555\/822085.823309"},{"key":"e_1_2_1_26_1","doi-asserted-by":"publisher","DOI":"10.1007\/11557654_103"},{"key":"e_1_2_1_27_1","doi-asserted-by":"publisher","DOI":"10.5555\/1746299.1746315"},{"key":"e_1_2_1_28_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.jpdc.2014.07.001"},{"key":"e_1_2_1_29_1","first-page":"421","article-title":"On-the-fly memory compression for multibody algorithms","volume":"27","author":"Eckhardt W.","year":"2015","journal-title":"Advances in Parallel Computing"},{"key":"e_1_2_1_30_1","doi-asserted-by":"crossref","unstructured":"W.\n      Eckhardt\n     and \n      T.\n      Weinzierl\n  . \n  2010\n  . A blocking strategy on multicore architectures for dynamically adaptive PDE solvers. In Proceedings of the International Conference on Parallel Processing and Applied Mathematics (PPAM\u201909) R. Wyrzykowski J. Dongarra K. Karczewski and J. Wasniewski (Eds.) Lecture Notes in Computer Science Vol. \n  6068\n  . \n  Springer-Verlag 567--575.   W. Eckhardt and T. Weinzierl. 2010. A blocking strategy on multicore architectures for dynamically adaptive PDE solvers. In Proceedings of the International Conference on Parallel Processing and Applied Mathematics (PPAM\u201909) R. Wyrzykowski J. Dongarra K. Karczewski and J. Wasniewski (Eds.) Lecture Notes in Computer Science Vol. 6068. Springer-Verlag 567--575.","DOI":"10.1007\/978-3-642-14390-8_59"},{"key":"e_1_2_1_31_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.jocs.2011.01.004"},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1299\/jfst.2015jfst0002"},{"key":"e_1_2_1_33_1","unstructured":"E. Gamma R. Helm R. E. Johnson and J. Vlissides. 1994. Design Patterns\u2014Elements of Reusable Object-Oriented Software (1st ed.). Addison-Wesley Longman.   E. Gamma R. Helm R. E. Johnson and J. Vlissides. 1994. Design Patterns\u2014Elements of Reusable Object-Oriented Software (1st ed.). Addison-Wesley Longman."},{"key":"e_1_2_1_34_1","doi-asserted-by":"publisher","DOI":"10.1109\/83.499920"},{"key":"e_1_2_1_35_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.advengsoft.2014.12.001"},{"key":"e_1_2_1_36_1","volume-title":"Technical Report 20. Uppsala Universitet.","author":"Grandin M.","year":"2014"},{"key":"e_1_2_1_37_1","first-page":"279","article-title":"Hash--storage techniques for adaptive multilevel solvers and their domain decomposition parallelization. In Proceedings of the Conference on Domain Decomposition Methods (DD10)","volume":"218","author":"Griebel M.","year":"1998","journal-title":"Contemporary Mathematics"},{"key":"e_1_2_1_38_1","doi-asserted-by":"publisher","DOI":"10.1016\/S0167-8191(99)00020-4"},{"key":"e_1_2_1_39_1","volume-title":"How many three-dimensional Hilbert curves are there? arXiv:1610.00155","author":"Haverkort H.","year":"2016"},{"key":"e_1_2_1_40_1","volume-title":"Proceedings of the International Conference on Computational Science","volume":"2331","author":"Hungersh\u00f6fer J.","year":"2002"},{"key":"e_1_2_1_41_1","doi-asserted-by":"publisher","DOI":"10.1109\/IPDPS.2012.47"},{"key":"e_1_2_1_42_1","doi-asserted-by":"publisher","DOI":"10.1103\/PhysRevE.64.041602"},{"key":"e_1_2_1_43_1","doi-asserted-by":"publisher","DOI":"10.1006\/jcph.1998.9998"},{"key":"e_1_2_1_44_1","doi-asserted-by":"publisher","DOI":"10.5555\/645938.671208"},{"key":"e_1_2_1_45_1","doi-asserted-by":"publisher","DOI":"10.1088\/1742-6596\/719\/1\/012020"},{"key":"e_1_2_1_46_1","volume-title":"Proceedings of the Algorithms for Memory Hierarchies","author":"Kowarschik M.","year":"2002"},{"key":"e_1_2_1_47_1","doi-asserted-by":"crossref","unstructured":"K.\n      Krestenitis T.\n      Weinzierl and \n      T.\n      Koziara\n  . \n  2017\n  . Fast DEM collision checks on multicore nodes. In Proceedings of the International Conference on Parallel Processing and Applied Mathematics (PPAM\u201917) R. Wyrzykowski et al. \n  (Eds\n  .) Lecture Notes in Computer Science Vol. \n  10777\n  . 123--132.  K. Krestenitis T. Weinzierl and T. Koziara. 2017. Fast DEM collision checks on multicore nodes. In Proceedings of the International Conference on Parallel Processing and Applied Mathematics (PPAM\u201917) R. Wyrzykowski et al. (Eds.) Lecture Notes in Computer Science Vol. 10777. 123--132.","DOI":"10.1007\/978-3-319-78024-5_12"},{"key":"e_1_2_1_48_1","doi-asserted-by":"publisher","DOI":"10.1145\/2160718.2160740"},{"key":"e_1_2_1_49_1","volume-title":"Proceedings of the IEEE Computer Society Technical Committee on Computer Architecture (TCCA\u201995)","author":"McCalpin J. D.","year":"1995"},{"key":"e_1_2_1_50_1","doi-asserted-by":"crossref","unstructured":"S. F. McCormick. 1989. Multilevel Adaptive Methods for Partial Differential Equations. SIAM.   S. F. McCormick. 1989. Multilevel Adaptive Methods for Partial Differential Equations. SIAM.","DOI":"10.1137\/1.9781611971026"},{"key":"e_1_2_1_51_1","doi-asserted-by":"publisher","DOI":"10.1002\/nla.481"},{"key":"e_1_2_1_52_1","volume-title":"Proceedings of the International Conference on Parallel Computing (ParCo\u201912)","volume":"22","author":"Meister O."},{"key":"e_1_2_1_53_1","volume-title":"Hybrid Multiscale Simulation Approaches For Micro- and Nanoflows","author":"Neumann P."},{"key":"e_1_2_1_54_1","doi-asserted-by":"publisher","DOI":"10.1109\/SC.2010.42"},{"key":"e_1_2_1_55_1","doi-asserted-by":"publisher","DOI":"10.1007\/s00791-014-0231-x"},{"key":"e_1_2_1_56_1","doi-asserted-by":"publisher","DOI":"10.1145\/3054946"},{"key":"e_1_2_1_57_1","doi-asserted-by":"publisher","DOI":"10.1137\/120873686"},{"key":"e_1_2_1_58_1","volume-title":"Dendro: Parallel algorithms for multigrid and AMR methods on 2:1 balanced octrees. In Proceedings of the 2008 ACM\/IEEE Conference on Supercomputing","author":"Sampath R. S.","year":"2008"},{"key":"e_1_2_1_59_1","doi-asserted-by":"publisher","DOI":"10.1137\/17M1128411"},{"key":"e_1_2_1_60_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-642-40047-6_50"},{"key":"e_1_2_1_61_1","volume-title":"M. Bader (Ed.)","volume":"25","author":"Schreiber M.","year":"2013"},{"key":"e_1_2_1_62_1","doi-asserted-by":"publisher","DOI":"10.1063\/1.1751381"},{"key":"e_1_2_1_63_1","volume-title":"Proceedings of the International Conference on High Performance Computing, Networking, Storage and Analysis (SC\u201912)","author":"Sundar H."},{"key":"e_1_2_1_64_1","doi-asserted-by":"publisher","DOI":"10.1145\/2751205.2751246"},{"key":"e_1_2_1_65_1","doi-asserted-by":"publisher","DOI":"10.1137\/070681727"},{"key":"e_1_2_1_66_1","doi-asserted-by":"publisher","DOI":"10.1145\/17919.806843"},{"key":"e_1_2_1_67_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.cpc.2018.06.018"},{"key":"e_1_2_1_68_1","doi-asserted-by":"publisher","DOI":"10.1109\/SC.2005.61"},{"key":"e_1_2_1_69_1","doi-asserted-by":"publisher","DOI":"10.1137\/13093371X"},{"key":"e_1_2_1_70_1","doi-asserted-by":"publisher","DOI":"10.1145\/2851488"},{"key":"e_1_2_1_71_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.cam.2013.12.013"},{"key":"e_1_2_1_72_1","volume-title":"Hybrid Geometric-Algebraic Matrix-Free Multigrid on Spacetrees. Dissertation. Fakult\u00e4t f\u00fcr Informatik","author":"Weinzierl M."},{"key":"e_1_2_1_73_1","doi-asserted-by":"publisher","DOI":"10.1145\/3165280"},{"key":"e_1_2_1_74_1","volume-title":"A Framework for Parallel PDE Solvers on Multiscale Adaptive Cartesian Grids","author":"Weinzierl T."},{"key":"e_1_2_1_75_1","unstructured":"T. Weinzierl etal 2015. Peano\u2014A Framework for PDE Solvers on Spacetree Grids. Retrieved from http:\/\/www.peano-framework.org.  T. Weinzierl et al. 2015. Peano\u2014A Framework for PDE Solvers on Spacetree Grids. Retrieved from http:\/\/www.peano-framework.org."},{"key":"e_1_2_1_76_1","doi-asserted-by":"publisher","DOI":"10.1142\/S0129626414410060"},{"key":"e_1_2_1_77_1","doi-asserted-by":"publisher","DOI":"10.1137\/100799071"},{"key":"e_1_2_1_78_1","doi-asserted-by":"publisher","DOI":"10.1016\/j.parco.2015.12.007"}],"container-title":["ACM Transactions on Mathematical Software"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3319797","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/dl.acm.org\/doi\/pdf\/10.1145\/3319797","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2025,6,18]],"date-time":"2025-06-18T01:08:06Z","timestamp":1750208886000},"score":1,"resource":{"primary":{"URL":"https:\/\/dl.acm.org\/doi\/10.1145\/3319797"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2019,4,18]]},"references-count":78,"journal-issue":{"issue":"2","published-print":{"date-parts":[[2019,6,30]]}},"alternative-id":["10.1145\/3319797"],"URL":"https:\/\/doi.org\/10.1145\/3319797","relation":{},"ISSN":["0098-3500","1557-7295"],"issn-type":[{"value":"0098-3500","type":"print"},{"value":"1557-7295","type":"electronic"}],"subject":[],"published":{"date-parts":[[2019,4,18]]},"assertion":[{"value":"2017-08-01","order":0,"name":"received","label":"Received","group":{"name":"publication_history","label":"Publication History"}},{"value":"2018-12-01","order":1,"name":"accepted","label":"Accepted","group":{"name":"publication_history","label":"Publication History"}},{"value":"2019-04-18","order":2,"name":"published","label":"Published","group":{"name":"publication_history","label":"Publication History"}}]}}