什么是好的计算网格?

计算科学 pde 数值建模 网格
2021-11-25 19:34:24

大多数求解偏微分方程的计算方法都是基于网格的。除了足够精细以解决数值解的特征之外,是什么让计算网格“好”?具有或多或少相同大小单元的网格是否比具有强烈变化的网格单元大小的网格更好?具有更多“圆形”单元格的网格是否比具有“倾斜”单元格的网格更好?单元格大小逐渐变化的网格是否优于单元格大小突然变化的网格?一些计算网格在美学上令人愉悦。更好看的网格实际上是否更适合计算?所有这些问题的答案肯定在很大程度上取决于所选择的数值方法,以及感兴趣的问题。是否有高级概述、论文或书籍,讨论是什么让网格“好”,

2个回答

从性能的角度来看,您总是对在网格中保留尽可能多的“结构”感兴趣。在单面或六面体网格上进行计算,其中每个单元看起来都像下一个,性能会更高,因为您不必为每个单元从局部坐标转换为全局坐标。此外,您不必将单元坐标(例如边缘点)保存在内存中,因为您可以重建它们。您还可以通过数组中的位置轻松计算顶点的位置。经验法则是尽可能使用结构化网格。

话虽如此,这并不总是可能的。如果您尝试解决的问题在您的域的不同区域中存在质的差异,那么过度解决没有发生任何事情的区域可能没有好处,同时对您真正感兴趣的区域进行不足解决可能只是为了结构化。在这种情况下,间距不同的非结构化网格是最佳选择。(这方面的一个例子是飞机机翼周围的流动,或流体-固体相互作用中的边界层等)

另一个方面是您的模拟域的几何形状。如果您正在模拟一个盒子,那么直接生成一个结构化的网格来解决它。如果您想对一些具有复杂几何形状的加工件进行线性弹性刚度分析,您将无法保留任何结构。

在处理非结构化网格时,存在与极端单元几何形状相关的一些缺点。在一个边长远离短边很远的三角形中,梯度的导出近似值在一个空间方向上比在另一个空间方向上要好得多。

数值网格的最佳选择是最准确地近似您的问题的解决方案(不会在计算上过于昂贵)。但除此之外,具体功能将在很大程度上取决于您尝试解决的问题类型。网格可能在美学上令人愉悦,因为它巧妙地利用了问题的某些对称性。由于坐标系的选择,网格可能是不均匀的。通常你甚至不知道网格应该有多精细。这就是使用自适应网格细化多重网格等方法的原因。这一切都取决于特定的问题。

我的观点是,没有一刀切的答案,计算求解偏微分方程的过程通常涉及一些反复试验。我不知道涵盖所有可能性的评论文章或书籍,但有许多关于基于网格的方法的综合性文本。例如, R. Leveque (SIAM, 2007)的常微分方程和偏微分方程的有限差分方法是在有限差分方法的背景下讨论其中一些考虑的众多方法之一。在我看来,加快速度的最佳方法可能是查看与您的问题相似的研究论文,然后看看作者使用了什么;这通常是最先进的。祝你好运!