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