p4est Citations and Bibliography
Author: Carsten Burstedde

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 scales to hundreds of thousands, even millions, of processor cores. It is actively maintained and used by researchers worldwide.

`p4est` is free software released under GNU General Public Licence version 2, or (at your option) any later version.

### Technical papers / Citations

If you use `p4est` for your publications, please cite it as follows [1a]. The reference [1b] is for people specifically using the topology iterator, the high-order node numbering, or the top-down search. [1c] is for people interested in the 2:1 balance details, the strong scaling limit and/or memory footprint. Recent algorithms for searching remote objects in the partition and partition-independent load and save are in press [1d].

[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 (download).

    @ARTICLE{BursteddeWilcoxGhattas11,
      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}
    }

[1b] Tobin Isaac, Carsten Burstedde, Lucas C. Wilcox, and Omar Ghattas,
Recursive algorithms for distributed forests of octrees.
Published in SIAM Journal on Scientific Computing 37 no. 5 (2015), pages C497-C531 (download).

    @ARTICLE{IsaacBursteddeWilcoxEtAl15,
      author = {Tobin Isaac and Carsten Burstedde and Lucas C. Wilcox and Omar Ghattas},
      title = {Recursive algorithms for distributed forests of octrees},
      journal = {SIAM Journal on Scientific Computing},
      volume = {37},
      number = {5},
      pages = {C497-C531},
      year = {2015},
      doi = {10.1137/140970963}
    }

[1c] 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 (download). Erratum: In Algorithm 7, line 3 reads \(\text{for all}\ o\in R\ \text{do}\); it should read \(\text{for all}\ o\in R\cup R^{\text{new}}\ \text{do}\).

[1d] Carsten Burstedde,
Parallel tree algorithms for AMR and non-standard data access.
Published in ACM Transactions on Mathematical Software, 2020 (preprint).

    @article{Burstedde20,
      author = {Carsten Burstedde},
      title = {Parallel tree algorithms for {AMR} and non-standard data access},
      year = {2020},
      month = {November},
      journal = {ACM Transactions on Mathematical Software},
      volume = 46,
      issue = 4,
      number = 32,
      pages = {1--31},
      doi = {10.1145/3401990}
    }

### ForestClaw

The ForestClaw project is an ongoing collaboration with Donna Calhoun to solve hyperpolic PDEs. Please cite the initial article below; an updated paper is in preparation with initial versions on the arxiv.

    @INPROCEEDINGS{BursteddeCalhounMandliEtAl14,
      author = {Carsten Burstedde and Donna Calhoun
                and Kyle T. Mandli and Andy R. Terrel},
      title = {ForestClaw: Hybrid forest-of-octrees {AMR}
               for hyperbolic conservation laws},
      booktitle = {Parallel Computing: Accelerating Computational Science
                   and Engineering (CSE)},
      year = {2014},
      editor = {Michael Bader and Arndt Bode and Hans-Joachim Bungartz
                and Michael Gerndt and Gerhard R. Joubert and Frans Peters},
      volume = {25},
      series = {Advances in Parallel Computing},
      pages = {253-262},
      publisher = {IOS Press},
      doi = {10.3233/978-1-61499-381-0-253}
    }

### deal.II

The generic adaptive finite element software deal.II now interfaces to `p4est` to obtain distributed mesh information [2]. The corresponding algorithms are described in this article. If you use deal.II with `p4est` for your publications, please cite it 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 (download).

    @ARTICLE{BangerthBursteddeHeisterEtAl11,
      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}
    }

### PETSc

The `p4est` library is being extended to implement AMR in PETSc, the Portable Extensible Toolkit for Scientific Computation. The interface and design decisions are described in this article. If you use the `p4est` backend for `PETSc` for your publications, please cite it as:

[3] Tobin Isaac, Matthew G. Knepley,
Support for Non-conformal Meshes in PETSc's DMPlex Interface
(download).

    @ARTICLE{IsaacKnepley15,
      author = {Tobin Isaac and Matthew G. Knepley},
      title = {Support for Non-conformal Meshes in {PETSc}'s {DMPlex} Interface},
      journal = {ACM Transactions on Mathematical Software},
      eprinttype = {arxiv},
      eprint = {1508.02470},
      url = {https://arxiv.org/abs/1508.02470}
    }