p4est: Parallel AMR on Forests of Octrees

The p4est software library enables the dynamic management of a collection of adaptive octrees, conveniently called a forest of octrees. p4est is designed to work in parallel and scale to hundreds of thousands of processor cores. We explain the concepts and algorithms behind p4est in this article. If you use p4est for your publications, please cite this as:

[1a] Carsten Burstedde, Lucas C. Wilcox, and Omar Ghattas,
p4est: Scalable Algorithms for Parallel Adaptive Mesh Refinement on Forests of Octrees.
Published in SIAM Journal on Scientific Computing 33 no. 3 (2011), pages 1103-1133.

@ARTICLE{p4est,
  author = {Carsten Burstedde and Lucas C. Wilcox and Omar Ghattas},
  title = {{\texttt{p4est}}: Scalable Algorithms for Parallel Adaptive Mesh
	Refinement on Forests of Octrees},
  journal = {SIAM Journal on Scientific Computing},
  volume = {33},
  number = {3},
  pages = {1103-1133},
  year = {2011},
  doi = {10.1137/100791634}
}

p4est is under active development and released under the GNU GPL License version 2 (or later). The latest official version of the software is 0.3.4.2 and should work with all versions of deal.II (see below). The code is hosted at github (see the develop branch for the latest code). Recently, the 2:1 balance algorithm has been rewritten; see this article on the new logic:

[1b] Tobin Isaac, Carsten Burstedde, and Omar Ghattas,
Low-Cost Parallel Algorithms for 2:1 Octree Balance.
Published in Proceedings of the 26th IEEE International Parallel & Distributed Processing Symposium, 2012.

p4est uses libsc written by the same authors and others for basic helper functionality such as logging, array and hash data structures, parallel statistics, and more. libsc also integrates the third-party libraries zlib and lua. libsc is free software under LGPL v2.1 (or later) and hosted under github as well.

May I copy and modify p4est source code for internal use? yes
Will my source that contains copied or modified p4est code automatically be GPL? yes
Will my source that includes p4est header files and is supposed to be linked against p4est automatically by GPL? no
May I distribute my source that includes p4est header files and is supposed to be linked against p4est? yes
May I distribute a binary executable that links against p4est if I distribute my source code along with it? yes
May I distribute a binary executable that links against p4est without distributing my source code along with it? no, but:
May I contact UT Austin OTC to negotiate permission to distribute a binary executable without the source? yes

The ForestClaw project is an ongoing collaboration with Donna Calhoun to solve hyperpolic PDEs.

The generic adaptive finite element software deal.II now interfaces to p4est to obtain distributed mesh information. The corresponding algorithms are described in this article. If you use deal.II with p4est for your publications, please cite this as:

[2] Wolfgang Bangerth, Carsten Burstedde, Timo Heister, and Martin Kronbichler,
Algorithms and Data Structures for Massively Parallel Generic Adaptive Finite Element Codes.
Published in ACM Transactions on Mathematical Software 38 No. 2 (2011), pages 14:1-14:28.

@ARTICLE{dealiiwithp4est,
  author = {Wolfgang Bangerth and Carsten Burstedde and Timo Heister and Martin
	Kronbichler},
  title = {Algorithms and Data Structures for Massively Parallel Generic Adaptive
	Finite Element Codes},
  journal = {ACM Transactions on Mathematical Software},
  volume = {38},
  number = {2},
  pages = {14:1-14:28},
  year = {2011}
}

p4est Authors:
Carsten Burstedde
Lucas C. Wilcox
Tobin Isaac
Johann Rudi

Contact:
info at p4est org

The development of p4est was partially supported by the US National Science Foundation (NSF Grants No. OCI-0749334, CCF-0427985, CNS-0540372, CNS-0619838, DMS-0724746, OPP-0941678) and the US Department of Energy (DOE Grants No. 06ER25782, 08ER25860, SC0002710). The authors thank the Texas Advanced Computing Center (TACC) for providing them with access to the Ranger supercomputer under NSF TeraGrid award MCA04N026, and the National Center for Computational Science (NCCS) for early-user access to the Jaguar Cray XT5 supercomputer. Any opinions, findings and conclusions or recomendations expressed on this web page or in the source code and documentation are those of the authors and do not necessarily reflect the views of the National Science Foundation (NSF).