From: Peter Munch <peterrmuench@gmail.com>
Date: Sun, 19 Jun 2022 11:10:07 +0000 (+0200)
Subject: Add reference to fast hanging-node algo and global coarsening
X-Git-Tag: v9.5.0-rc1~1187^2
X-Git-Url: https://gitweb.dealii.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F14016%2Fhead;p=dealii.git

Add reference to fast hanging-node algo and global coarsening
---

diff --git a/doc/doxygen/references.bib b/doc/doxygen/references.bib
index 343eeb489f..136456e62f 100644
--- a/doc/doxygen/references.bib
+++ b/doc/doxygen/references.bib
@@ -1866,3 +1866,25 @@ url = {https://doi.org/10.1016/0045-7930(73)90027-3}
   pages = {153--168},
   url = {https://doi.org/10.1016/0377-0427(89)90045-9}
 }
+
+@article{munch2022gc,
+  doi       = {10.48550/ARXIV.2203.12292},  
+  url       = {https://arxiv.org/abs/2203.12292},
+  author    = {Peter Munch and Timo Heister and Laura Prieto Saavedra and Martin Kronbichler},
+  keywords  = {Numerical Analysis (math.NA), Mathematical Software (cs.MS), FOS: Mathematics, FOS: Mathematics, FOS: Computer and information sciences, FOS: Computer and information sciences, G.4},
+  title     = {Efficient distributed matrix-free multigrid methods on locally refined meshes for FEM computations},
+  publisher = {arXiv},
+  year      = {2022},
+  copyright = {arXiv.org perpetual, non-exclusive license}
+}
+
+@InProceedings{munch2022hn,
+  author    = {Peter Munch and Karl Ljungkvist and Martin Kronbichler},
+  title     = {Efficient Application of~Hanging-Node Constraints for~Matrix-Free High-Order {FEM} Computations on~{CPU} and~{GPU}},
+  booktitle = {Lecture Notes in Computer Science},
+  year      = {2022},
+  publisher = {Springer International Publishing},
+  pages     = {133--152},
+  doi       = {10.1007/978-3-031-07312-0_7},
+  url       = {https://doi.org/10.1007/978-3-031-07312-0_7}
+}
diff --git a/include/deal.II/matrix_free/hanging_nodes_internal.h b/include/deal.II/matrix_free/hanging_nodes_internal.h
index dbbdbae3a9..86312effc9 100644
--- a/include/deal.II/matrix_free/hanging_nodes_internal.h
+++ b/include/deal.II/matrix_free/hanging_nodes_internal.h
@@ -258,9 +258,8 @@ namespace internal
     /**
      * This class creates the mask used in the treatment of hanging nodes in
      * CUDAWrappers::MatrixFree.
-     * The implementation of this class is explained in Section 3 of
-     * @cite ljungkvist2017matrix and in Section 3.4 of
-     * @cite kronbichler2019multigrid.
+     * The implementation of this class is explained in detail in
+     * @cite munch2022hn.
      */
     template <int dim>
     class HangingNodes
diff --git a/include/deal.II/multigrid/mg_transfer_global_coarsening.h b/include/deal.II/multigrid/mg_transfer_global_coarsening.h
index 159a280f7b..abe6e896bd 100644
--- a/include/deal.II/multigrid/mg_transfer_global_coarsening.h
+++ b/include/deal.II/multigrid/mg_transfer_global_coarsening.h
@@ -155,6 +155,8 @@ namespace MGTransferGlobalCoarseningTools
 
 /**
  * Class for transfer between two multigrid levels for p- or global coarsening.
+ *
+ * The implementation of this class is explained in detail in @cite munch2022gc.
  */
 template <int dim, typename VectorType>
 class MGTwoLevelTransfer
@@ -203,6 +205,8 @@ public:
 /**
  * Class for transfer between two multigrid levels for p- or global coarsening.
  * Specialization for LinearAlgebra::distributed::Vector.
+ *
+ * The implementation of this class is explained in detail in @cite munch2022gc.
  */
 template <int dim, typename Number>
 class MGTwoLevelTransfer<dim, LinearAlgebra::distributed::Vector<Number>>
@@ -470,6 +474,8 @@ private:
  * FE_Q and FE_DGQ and simplex elements FE_SimplexP and FE_SimplexDGP as well as
  * for systems involving multiple components of one of these elements. Other
  * elements are currently not implemented.
+ *
+ * The implementation of this class is explained in detail in @cite munch2022gc.
  */
 template <int dim, typename VectorType>
 class MGTransferGlobalCoarsening : public dealii::MGTransferBase<VectorType>