2-D Multigrid 的具体问题

计算科学 多重网格 椭圆pde
2021-12-16 05:31:31

我在模拟2u=02-D在使用2-Grid方法上具有混合 Dirichlet-Neumann 边界条件。狄利克雷条件应用于左边界和下边界u=1+x+y和 Neuman 条件应用于顶部和右侧边界un=1. 4x4该解决方案在不使用的情况下收敛于网格2-grid对于 2-grid,请让我知道以下是否正确(因为我无法与 2-grid 收敛)。

  1. 2在细网格上进行迭代(使用 Pure Jacobi),计算残差,使用注入限制到粗网格(2x2)。可以使用Pure Jacobi还是我们总是使用Damped (weighted) Jacobi

  2. 带误差矩阵e=0作为最初的猜测,我求解残差方程Ae=r直到完全收敛,然后将误差内插/延长回细网格。应该求解残差方程直到收敛还是 2-3 次迭代就足够了?(误差方程确实完全收敛。)

  3. 我究竟在哪里必须使用错误/残差/其他的规范?因为我知道 Fine Grid 上的真正解决方案是u=1+ih+jhh=1/4哪里i,j变化从04,我用它作为细网格上的收敛标准,即直到error=unew(1+ih+jh)大于公差105继续迭代。

2个回答

Jacobi 通常不是一个很好的平滑器,Gauss-Seidel 是一个更好的选择。

您可能还想使用更大的初始网格,以便查看缺陷是在边界处还是在内部生成的。您的 2x2 粗网格基本上都是边界条件。

混合边界很难实现。我只会让 Dirichlet 边界工作,然后只有 Neumann 工作,然后尝试混合它们。您必须仔细考虑如何处理拐角处的限制。

这个讨论也可能有帮助: Multigrid 在使用更多网格级别时停止收敛

我使用了加权 Jacobi(不适用于纯 Jacobi)。在这个问题中,诺伊曼边界条件变为en=0对于误差矩阵,即在求解时Ae=r如果我们取粗网格边界的中心差,那么ei+1,jei1,j2hc=0, 在哪里ei,j是 Neumann 边界上的点。相似地ei,j+1ei,j12hc=0, 在哪里ei,j是粗网格上的边界点(当然不是虚构的边界点!)。