From: Peter Munch 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 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