对于一个小小的个人项目,我又开始学习我的 FEM 技能了。我在大学里学到了很多关于这个理论的知识,我能够针对特定问题实现一个简单的 FEM 求解器,但我对不同的并行化可能性感到好奇,因为我们从未深入探讨过这些问题。
为了简单起见,让我们关注泊松方程,在 n > 1 的一些“好”域中。据我所见,可以
- 并行化刚度矩阵的组装。对于较大的问题,这需要相当长的时间,并且可以很容易地并行化。
- 并行化线性求解器。在这里,有很多可能性可以为基于 CG、多重网格或基于 Krylov 的方法的稀疏系统构建特定的求解器。也有可能,但有点难。
- 域分解。如果我正确理解了该主题,则可以解决该领域的某些子领域并将其解决方案划分为多个处理器。
我不是该主题的研究人员,但希望对该主题有更深入的了解——主要不是通过使用一些可用的库(我非常了解 FEniCS 等人),而是手动编写第一个简单的并行化示例。例如,我一直在阅读 DG FEM 应该在并行级别上更好地扩展,从一些幻灯片中我可以猜到原因——你对连续性的假设较小,所以你的元素的面不需要强耦合. 然而,我很难找到一些关于这个的相关例子的广泛讨论。
我也找不到关于最后一个主题的解释得很好的材料,我知道它存在,但我也找不到关于该主题的全面材料。大多数从离散化的公式跳转到“……然后我使用 METIS 加 xyz 来解决。这里有三个显示收敛的图表”。当然,尝试对在某处“似乎”做我认为的事情的代码进行逆向工程也很累。
问题
从那些知道的人那里,我可以阅读关于该主题的已知书籍吗?
有人能指出我正确的方向吗?
或者在这些主题上有一些经验的人会对该主题进行简短的介绍吗?