由于非结构化网格的点和邻接关系不遵循任何全局结构,因此也可以添加或删除网格单元格和点。动态添加、删除或移动网格单元格和点的过程称为网格自适应。
根据问题的性质,需要网格自适应技术来在保持计算成本较低的同时获得准确的解场,通过控制网格单元格和节点的总数。通常,所需的细化程度与基于要解决的方程估计的误差相关。因此,误差较高的区域最终会累积更多的网格单元格。
网格细化分为几种一般类型。最常见的类型被称为:
h型细化
r型细化
p型细化
上述的组合
1. h型网格细化(h-refinement)
h型网格细化是通过减小网格单元的大小来增加网格密度的方法。它基于增加网格单元的数量,从而减少每个单元的特征长度(h),以提高局部区域的分辨率。
效果:
1)增加局部网格分辨率,能够更好地捕捉流动细节。
2)增加系统的自由度,可能导致计算成本和内存需求的增加。
3)适用于捕捉边界层、激波、大梯度区域等现象。
这种技术可以经济地增加局部网格分辨率,但也会因为增加了系统的自由度而增加要解决的差分方程的数量。
在非结构化网格上,添加单元格或点是直接的,因为它涉及修改单元格的重新连接。在结构化网格上进行细化并不直接,因为添加单元格可能会破坏网格的规律性。使用自适应结构化网格时,通常允许非一致网格。
网格细化技术通常也允许网格去细化,这可以用来减少在估计误差非常低的区域的单元格数量。这允许更有效地使用计算能力,降低成本和模拟时间。
2. r型网格细化(r-refinement)
r型网格细化是通过移动或调整网格单元的位置来改善网格质量的方法,而不改变网格单元的数量或大小。这种细化通常用于保持网格的全局结构,同时优化网格的布局以更好地适应流动特性。
效果:
1)网格单元的形状和方向得到优化,提高了解的准确性。
2)网格的总体数量保持不变,因此计算成本可能不会显著增加。
3)适用于改善网格布局,如在流动方向上对齐网格或避免过度拉伸的单元。
下图显示了一个可能与冲击波传播问题相关的r型网格细化过程的例子,其中在解的高变化区域保持更高的网格分辨率。
3.p型网格细化(p-refinement)
p型网格细化是通过提高网格单元内部的多项式阶数来增加解的精度的方法。在有限元方法中,这意味着使用更高阶的基函数或形状函数来表示单元内的解。
效果:
1)在不改变网格结构的情况下提高了解的精度。
2)可以减少因网格过粗导致的数值误差。
3)通常与h型或r型细化结合使用,以实现更高效的求解策略。
4.其他网格自适应技术
自适应重新网格化技术用于根据估计的误差生成新的网格。这允许使用更少的点获得最佳的总体网格质量和更少的点。另一方面,网格创建的开销可能很大。自适应重新网格化可以局部使用,仅在估计误差过高或过低的区域生成新网格。
可以使用上述技术的组合。例如,r型和h型细化的组合可以称为rh型细化,其中节点既可以在网格上位移或创建。