假设您有以下由矩形元素组成的网格:
现在,如果您假设一个正常的结构化矩形网格执行插值,那么您将引入与这种不准确插值相关的错误。换句话说,当您限制残差向量并延长误差向量时,插值会产生错误。
现在,如果您的网格“接近”成为一个正常的结构化笛卡尔网格,那么这可能会起作用,至少一开始是这样,但我怀疑会发生以下两种情况之一,具体取决于您的网格距离矩形有多远:
1)您可能会发现多重网格首先开始收敛。毕竟最初你的错误还是很大的,你的“近似”插值实际上只是意味着一些节点被稍微过度表示,而一些节点被稍微表示不足。但是,您可能会发现,随着解变得更加准确并且插值误差变得更加重要,收敛会停滞。
2)另一种可能性是多重网格最终会收敛,但如果您使用了正确的插值,则不会那么快。
基本上,通过您的插值,您会不准确地衡量某些节点的重要性。例如,在 2D 中,如果您将给定节点加权为:
⎡⎣⎢0.250.50.250.51.00.50.250.50.25⎤⎦⎥
实际上,因为您的网格不完全是笛卡尔坐标,它应该是:
⎡⎣⎢0.250.550.280.551.00.520.250.490.30⎤⎦⎥
那么这将导致一些错误。此错误是否会阻止收敛可能取决于您的网格距离笛卡尔坐标有多远。
虽然 AMG 更难以理解/实施,但听起来它是您网格的正确方法。将几何多重网格应用于“近似”矩形网格可能会起作用,但我猜它充其量只是一种创可贴解决方案。希望这可以帮助。
更新:我认为我的回答可能有些混乱。我并不是说几何多重网格只适用于笛卡尔网格,而是说在笛卡尔网格上定义插值(因此限制)很容易,而在非结构化网格上这可能很困难。例如,考虑一个带有三角形网格的简单二维域的情况。细化这个网格很容易——至少在概念上是这样——但是你将如何定义粗网格和细网格之间的插值算子?我更喜欢 AMG 只是因为它更像一个“黑匣子”求解器,即不需要关于底层网格的信息,但这只是我个人的偏见/怪癖。只要您可以提供准确的插值运算符,几何多重网格就可以工作。