为恒定的最粗网格尺寸增加 V 周期并增加精细网格尺寸

计算科学 泊松 多重网格 椭圆pde
2021-12-23 04:40:52

问题陈述

我为2=f在哪里f=3π24sinπx2sinπy2sinπz2Ω[0,1]单位立方体上。左面、底面和前面的狄利克雷边界为0顶部、右侧和背面的 Neumann 边界为un=0.

方法

使用多重网格方法求解方程。我使用中心差分公式逼近 Neumann 边界处的鬼点。

方法概述(来自评论,作者确认):从细网格(要求解方程的最终网格)开始,进入较粗的网格以计算校正,将其传播回去并在多重网格的末端平滑程序。

观察

问题是当我修复我最粗的网格(比如16x16x16)并测量 V 循环以增加精细网格大小时,我的 V 循环不是恒定的。我在Trottenberg 等人的《 MULTIGRID 》一书中读到_ 我们需要使用修改后的全权限制算子来防止在 Neumann 边界进行不正确的缩放。此外,我无法理解书中提到的这个修改后的完全限制运算符。

在另一个例子中,我实现了一个混合 Dirichlet-Neumann 问题2=0在哪里u=1+x+y+z在 Dirichlet 边界,我不需要使用这个修改过的算子进行收敛(固定最粗网格和增加最细网格,V 循环保持不变)。

问题

“修改后的全权重限制”会导致收敛速度恶化吗?

请建议/解释。

1个回答

您最初的猜测可能会在诺伊曼边界附近产生较大的残差。根据限制方法,此残差可能不会按需要减少。

我会尝试使用 FMG 循环而不是 V 循环。因为 FMG 循环从最粗的网格开始,您将在更精细的级别附近有一个合理的猜测。根据我的经验,FMG 在 Neumann 边界条件下工作得很好。