并行求解 PDE

计算科学 有限元 线性求解器 并行计算
2021-11-25 01:52:14

我已经阅读了有关如何并行求解 pdes 的不同方法,这些方法是使用有限元方法离散化的。例如:

  1. https://imsc.uni-graz.at/haasegu/Papers/Douglas-Haase-Langer/textbook.pdf 第 5.2 章中提到的非重叠域分解方法每个过程在每个自己的域上工作,并且解向量具有一致的存储,而右手边、残差和刚度矩阵具有加法存储。

  2. 将网格分成 N 个部分。每个处理器都有关于它自己的子域的信息以及一个幽灵层(全局求解器方法)。

这两种方法有什么区别,优点和缺点?FEM 软件使用哪种并行化方法?

1个回答

域分解是在 1990 年代末和 2000 年代初开发的,因为它允许重用顺序 PDE 求解器:您只需在其周围编写一个包装器,将计算的解决方案发送到其他处理器,接收其他处理器的解决方案,并使用这些作为下一次迭代的边界值。这适用于当时使用的少量处理器(几十到最多几百个),但该方法在大量处理器上表现不佳。

今天几乎普遍使用的方法是您概述的第二种方法,我们将网格和线性系统视为一个全局系统;它恰好以将数据分发到许多处理器的方式存储。换句话说,我们不会将问题分解为更小的问题,我们只是分解与一个全局问题相关的数据存储这需要在 PETSc、Trilinos、libMesh 或我共同领导的 deal.II 项目等库中进行大量软件开发。但是,从好的方面来说,这种观点导致了可以有效解决的方法,因此,在过去 15 年左右的时间里,它们在很大程度上取代了域分解方法。