pages = {159--168},
url = {https://doi.org/10.1145/1837853.1693476}
}
+
+@inproceedings{ljungkvist2017matrix,
+ title={Matrix-free finite-element computations on graphics processors with adaptively refined unstructured meshes.},
+ author={Ljungkvist, Karl},
+ booktitle={SpringSim (HPC)},
+ pages={1--1},
+ year={2017}
+}
+
+@article{kronbichler2019multigrid,
+ title={Multigrid for matrix-free high-order finite element computations on graphics processors},
+ author={Kronbichler, Martin and Ljungkvist, Karl},
+ journal={ACM Transactions on Parallel Computing (TOPC)},
+ volume={6},
+ number={1},
+ pages={1--32},
+ year={2019},
+ publisher={ACM New York, NY, USA}
+}
/**
* This class creates the mask used in the treatment of hanging nodes in
* CUDAWrappers::MatrixFree.
- * The implementation of this class is explained in <em>Section 3 of
- * Matrix-Free Finite-Element Computations On Graphics Processors With
- * Adaptively Refined Unstructured Meshes</em> by Karl Ljungkvist,
- * SpringSim-HPC, 2017 April 23-26.
+ * The implementation of this class is explained in Section 3 of
+ * @cite ljungkvist2017matrix and in Section 3.4 of
+ * @cite kronbichler2019multigrid.
*/
template <int dim>
class HangingNodes
/**
* This function resolves the hanging nodes using tensor product.
*
- * The implementation of this class is explained in <em>Matrix-Free
- * Finite-Element Computations On Graphics Processors With Adaptively
- * Refined Unstructured Meshes</em> by Karl Ljungkvist, SpringSim-HPC, 2017
- * April 23-26.
+ * The implementation of this class is explained in Section 3 of
+ * @cite ljungkvist2017matrix and in Section 3.4 of
+ * @cite kronbichler2019multigrid.
*/
template <int dim, int fe_degree, bool transpose, typename Number>
__device__ void