如何在几何多重网格中使用不是二的幂的网格大小

计算科学 多重网格
2021-12-09 15:09:28

我正在尝试使用几何多重网格方法求解结构化网格中的泊松方程。然而,当粗化细网格时,我只是将每个连续级别的网格间距加倍。这意味着最好网格上的点数必须是 2 的幂。在进行一些数值模拟时,这是一个不受欢迎的约束。

是否有任何策略来避免这种约束(即,使用大小不是 2 次方的网格?

谢谢。

2个回答

您所需要的只是一个足够快地减少的网格层次结构。您可以使用 3:1 的粗化比,也可以使用非结构化网格等。没有您引用的限制,尽管通常以 2:1 的粗化比实现多重网格方法。

实际上,细网格中的间隔数必须是 2 的幂并没有限制。这个数字可以是奇数也可以是偶数。没什么大不了的。以一维问题为例,假设细网格中的区间数为 7(因此节点数为 8),则可以使用以下限制算子

第 1 至 7 列

      0.5         0.25            0            0            0            0            0
        0         0.25          0.5         0.25            0            0            0
        0            0            0         0.25          0.5         0.25            0
        0            0            0            0            0         0.25          0.5

第 8 栏

        0
        0
        0
     0.25

如果细网格中的区间数为 8(因此节点数为 9),则限制算子应为

第 1 至 7 列

      0.5         0.25            0            0            0            0            0
        0         0.25          0.5         0.25            0            0            0
        0            0            0         0.25          0.5         0.25            0
        0            0            0            0            0         0.25          0.5
        0            0            0            0            0            0            0

第 8 至 9 列

        0            0
        0            0
        0            0
     0.25            0
     0.25          0.5

所以你看,无论细网格中的间隔数是奇数还是偶数,多重网格技术都可以很好地工作。