在使用网格的数值计算方法中,网格质量和求解器精度,收敛性,求解性能等结果有着密切关系。网格的质量涉及到网格的密度,分布,单个网格拓扑形状,整体网格形状分布,以及物理场在网格上分布等。
长久以来,一直少有软件对网格质量进行量化评分。一些商业软件有进行打分,但是实际算法非常简单。以HM中的指标计算为例,网格质量评分算法如下:
1. 按照数据从小到大排序
2. 把数据平均分成N段。比如N为5,skewness值 从1到50, 那第一段为1-10, 第二段11-20,以此类推
3. 统计每一段中的单元数量
4. 每一段给一个权重
5. 最后算加权平均
这种方法只能部分反应出整体网格质量数据,并不精准,并且由于只考虑了拓扑信息,而没有考虑物理场,很多时候参考意义不大,实践中主要还是以经验指标为主。
第二种打分思路是把快速收敛以及求解器计算精度高的网格作为输入数据,将网格拓扑数据作为特征,通过AI方法比如GNN等训练。模型训练好后,就可以给输入的网格数据直接打分。但准确度非常依赖训练模型的质量和特征设计。
还有第三种打分方法。就是引入求解器结果数据。将计算场结果插值映射到单元上。设定物理场指标,比如单元内能量差,梯度值等。值越高,说明质量越差。通过统计方法,比如最小二乘,协方差,均方差等方法给出网格质量评分。这种方法本身依赖求解器的计算精度,但是比较稳定可靠。
评估网格质量其实要综合考虑拓扑和物理场两种信息。拓扑就是计算一个网格单元的质量,比如最小边,aspect ratio,以及相邻单元过渡是否平滑,以及网格密度,分布等等。另外一个就是必须靠求解器的物理场信息来判断网格是否满足计算要求。
具体可以参考:
其实从目前的发展趋势可以看到,在某些特定领域,一旦AI完成数据训练,网格也就可以抛弃了;另外即使需要网格的地方,利用AI技术也可以快速评价网格质量,自动生成高质量的网格。