FEM 的直接求解器和域分解

计算科学 有限元 并行计算 mpi 域分解
2021-12-14 17:26:12

在有限元法中,为了使用 MPI,我们需要先将域分解为子域。那么我的问题是我们是否可以使用直接求解器来求解每个子域?

当然,与解决整个域不同,我们不会在一次迭代中得到正确的解决方案。使用直接求解器多次迭代后,解会收敛吗?如果它收敛,它与具有域分解的迭代求解器相比如何:哪个更好?

2个回答

据我了解,这是一种相当流行的方法。对于小于 100,000 个未知数的迭代求解器,直接求解器通常比迭代求解器更有效,因此您将问题划分为大致这个大小的子问题,对每个子问题使用直接求解器,并将它们与某种方法(如交替施瓦茨)进行全局组合。使用域分解方法作为全局 CG/GMRES 求解的预处理器也很常见。

你是对的,域分解​​方法在一次迭代中没有得到正确的答案。交替施瓦茨方法可以被认为是重叠块雅可比,只是有非常大的块。简单的 Jacobi 迭代收敛于强对角占优矩阵;这是一个类似的论点,表明交替施瓦茨方法是收敛的(对于某些好的系统)。

当然,一个主题有很多变化。如果您可以使子域结构化网格,则可以在子问题上使用几何多重网格,而不是直接求解器。

另外值得注意的是,有些人认为多重网格和域分解方法是代数多级方法连续体的端点。

如果你对这类事情感兴趣,我强烈推荐这本书

哪个更好?...这是一个广泛的问题。这取决于你的主要目标是什么。直接求解器通常需要大量 RAM,即使是子域解决方案也是如此。可以对子域使用迭代求解器,对全局求解/收敛使用迭代求解器。内存占用很小,但这会比使用直接求解器或迭代/直接混合方法慢(根据我的经验)。查看http://www.domain-decomposition.com了解 DD 的最新进展。