复值矩阵的代数多重网格

计算科学 数字 多重网格 复数
2021-12-19 15:41:29

假设使用带有 Ruge-Stuben 粗化和直接插值的经典 AMG 来解决实际值问题。这种方法如何被回收来解决复杂的有价值的问题,比如每个谐波模拟?我在论文中读到可以拆分实部和虚部并创建一个等效的实矩阵并解决这个问题。但我也读过,可以按原样使用复数矩阵。在这种情况下,c/f 拆分仅使用矩阵的实部执行,并且延长和限制也只需要为实数。在这里,我的主要问题出现了,我找不到任何论文。使用直接插值创建延长和限制矩阵需要考虑什么?也只有实部,如 c/f 分裂,还是应该使用复数值的幅度?任何提示,论文等都会很好。

2个回答

检查MacLachlan 和 Osterlee的复值矩阵的代数多重网格求解器。

在实现方面,PyAMG 支持复值矩阵。我以前用过,效果很好。

这种方法如何被回收来解决复杂的有价值的问题,比如每个谐波模拟?

谐波模拟与静态模拟的区别不仅仅是用复值矩阵替换实值矩阵。您通常会得到矩阵,这些矩阵可能具有一些显着负的特征值以及聚集在零附近的正特征值。

如果我们在几何多重网格的图片中看到这一点,这通常意味着您需要一个相对精细的粗网格,它已经能够或多或少地解析相应的波(比如每个波周期 >4 个点)。您仍然可以使用多重网格来解决非常精细的网格。如果使用带有 Ruge-Stuben 粗化的经典 AMG,那么您可能已经注意不要使用太粗的网格,例如将粗化步骤的数量限制在非常小的数量。

Nico Schlömer 的回答中提到的 MacLachlan 和 Osterlee 的文章可能有更多相关的细节,如何将经典 AMG 实际应用于复值矩阵。但是,该文章没有讨论负特征值问题及其对适当粗网格的影响。讨论的 Helmholz 有意避免了这个问题,尽管该文章还使用谐波模拟作为一个例子来激发对复值矩阵 AMG 的研究。