AMR 中的细化

计算科学 pde 自适应网格细化
2021-12-15 08:35:08

假设我从8x8粗网格开始(见图 1),其中顶点(边界顶点除外)表示未知变量。

图 1 - 最粗的网格

在迭代逼近之后 - 我发现了 2 个顶点(未知),其中误差超过了某个界限(参见图 2红点)。

红点表示高错误顶点

现在我进一步细化红点(高错误点)(见图 3 - 仅显示 1 个红点细化)。

绿色 X - 新的未知数,红色 X - 悬挂节点

我的问题是:

  1. 我可以从较粗网格的黑色 X 中插入/延长红色 X(悬挂节点)吗?即我不需要在那里解决PDE。
  2. 黑色 X 和红色 X 是否成为绿色 X 的边界?(我想在绿色 X 处应用有限差分)。
  3. 我相信可以在任何级别上进行细化,但通常保持 2:1 的平衡,以使每条边有一个悬挂节点(在二维中)。我们是在更新之前多次优化还是只优化一次?
  4. 我将使用一个四叉树,每个树节点包含 4 个顶点(具有所有权状态)——用于以顶点为中心的有限差分实现,但它需要查询相邻的邻居(H. Samet,1982 年的论文),这看起来效率低下。对此有什么建议吗?
1个回答

偏微分方程的离散化“享受”一种称为误差污染的属性,这意味着如果您在一个位置(例如您在第一个网格上识别的点)不完全满足方程,您的残差是非零的事实证明了这一点在那里,那么这也会在其他地方产生错误

因此,仅在您确定的误差较大的点附近的较小单元块上再次求解是不够的。之所以如此,是因为您可以通过这种方式使补丁上的错误更小,但您不会在域的其余部分中使错误更小,除非您解决了一个全局问题,即包括网格的其余部分。因此,该方法不是从黑色 X 插值到红色 X,然后在绿色 X 上求解,而是在整个网格上求解整个问题。

对于您的问题 3:您可以优化多次。在你的情况下,我会围绕你知道错误很大的两个点进行改进,然后才能再次解决。