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}
+}
/**
* 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
/**
* 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
/**
* 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>>
* 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>