The $hp$-adaptive finite element method (FEM) - where one independently chooses the mesh size ($h$) and polynomial degree ($p$) to be used on each cell - has long been known to have better theoretical convergence properties than either $h$- or $p$-adaptive methods alone. However, it is not widely used, owing at least in parts to the difficulty of the underlying algorithms and the lack of widely usable implementations. This is particularly true when used with continuous finite elements. Herein, we discuss algorithms that are necessary for a comprehensive and generic implementation of $hp$-adaptive finite element methods on distributed-memory, parallel machines. In particular, we will present a multi-stage algorithm for the unique enumeration of degrees of freedom (DoFs) suitable for continuous finite element spaces, describe considerations for weighted load balancing, and discuss the transfer of variable size data between processes. We illustrate the performance of our algorithms with numerical examples, and demonstrate that they scale reasonably up to at least 16,384 Message Passing Interface (MPI) processes. We provide a reference implementation of our algorithms as part of the open-source library deal.II.
翻译:$hp$适应性有限要素方法(FEM) 长期以来人们一直认为,单是美元或美元适应性方法,就有一个更好的理论趋同特性,但这种方法没有被广泛使用,至少部分是由于基本算法的困难和缺乏可广泛使用的实施。在使用连续的有限要素时尤其如此。在这里,我们讨论在分布式模拟、平行机器上全面和通用实施$hp$适应性有限要素方法所必需的算法。特别是,我们将提出一种多阶段算法,用于对自由度进行独特的计算,以适合连续的有限要素空间,描述加权负载平衡的考虑,并讨论不同进程之间变体大小数据的转移。我们用数字示例来说明我们的算法的运作情况,并表明它们可合理地扩大到至少16,384个信息传递接口(MPI)进程。我们提供一种可开源的算法交易软件库的参考。