From 20b7fe9710a36fd0fc9206f6e58f59d6e28cd65a Mon Sep 17 00:00:00 2001 From: Peter Munch Date: Sun, 19 Jun 2022 13:10:07 +0200 Subject: [PATCH] Add reference to fast hanging-node algo and global coarsening --- doc/doxygen/references.bib | 22 +++++++++++++++++++ .../matrix_free/hanging_nodes_internal.h | 5 ++--- .../multigrid/mg_transfer_global_coarsening.h | 6 +++++ 3 files changed, 30 insertions(+), 3 deletions(-) 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 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 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 class MGTwoLevelTransfer> @@ -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 class MGTransferGlobalCoarsening : public dealii::MGTransferBase -- 2.39.5