一、网格质量与拓扑优化:结构化网格 vs 非结构化网格的选择策略

网格这东西,说白了就是咱们CFD计算的「骨架」。骨架歪了,肉长得再好也没用。我做了十几年仿真,见过太多算例因为网格问题翻车——收敛不了、结果离谱、甚至直接发散。今天咱们就聊聊网格质量那些事儿。

1.1 结构化网格 vs 非结构化网格:怎么选?

先问个问题:你手头的几何模型是规规矩矩的方块,还是奇形怪状的玩意儿?这个问题的答案,基本决定了你的网格策略。

结构化网格,我习惯叫它「强迫症福音」。所有网格单元排列整齐,邻居关系清晰,说白了就是六面体网格。它的好处很明显:

  • 计算效率高——同样的单元数,结构化网格收敛速度能快30%-50%
  • 数值耗散小——网格线与流动方向一致时,误差控制得特别好
  • 边界层处理方便——可以轻松控制第一层网格高度

但结构化网格有个致命伤:复杂几何搞不定。你想想看,一个带倒角、开孔、多曲面的模型,硬要画结构化网格,那简直是折磨自己。我在项目中遇到过一台离心压缩机,蜗壳形状特别复杂,团队花了三周画结构化网格,最后还是放弃了。

非结构化网格,说白了就是「啥都能画」。四面体、多面体、混合网格,想怎么来怎么来。它的优势在于:

  • 几何适应性极强——再复杂的模型也能快速生成网格
  • 自动化程度高——点几下鼠标就能搞定
  • 局部加密方便——哪里需要加密点哪里

但代价也很明显:计算量大、精度相对低。同样的物理问题,非结构化网格需要的单元数可能是结构化网格的2-3倍。

我的选择策略:

  • 几何简单、流动方向明确 → 结构化网格(比如管道、翼型、通道流)
  • 几何复杂、多方向流动 → 非结构化网格(比如叶轮机械、汽车外流场)
  • 混合方案:核心区域用结构化,外围用非结构化(我最常用的做法)

1.2 网格正交性:别让你的网格「歪脖子」

正交性,就是网格线之间的夹角。理想情况下,网格线应该互相垂直——90度。但现实中,尤其是复杂几何附近,网格难免会歪。

为什么正交性重要?因为数值计算中的通量计算依赖于网格法向。网格歪了,通量计算就会引入误差。我见过一个案例:某工程师算管道流动,结果压力分布出现奇怪的波动,查了半天发现是近壁面网格正交性只有30度,导致数值振荡。

控制标准:

  • 优秀:正交性 > 80度
  • 可接受:正交性 > 50度
  • 危险:正交性 < 20度(必须重新划分)

注意:我曾经在涡轮叶片前缘遇到过正交性只有10度的情况,计算结果直接发散。后来改用O型网格拓扑,正交性提升到70度以上,问题迎刃而解。

1.3 长宽比:拉长可以,别太过分

长宽比,就是网格单元最长边与最短边的比值。边界层网格中,我们故意把网格拉长——靠近壁面方向压缩,流向方向拉长。这是合理的。

但长宽比过大,问题就来了:

  • 矩阵条件数恶化——求解器收敛变慢
  • 截断误差增大——尤其是梯度计算时
  • 可能出现伪扩散——流动方向与网格方向不一致时更明显

我的经验值:

应用场景 建议长宽比 极限值
主流区域 < 5:1 10:1
边界层 10:1 ~ 100:1 500:1(需谨慎)
激波区域 < 3:1 5:1

嗯,这里要注意:边界层的长宽比可以大,但前提是流动方向必须与网格长边方向一致。如果流动斜着穿过网格,长宽比大就是灾难。

1.4 偏斜度:网格的「扭曲指数」

偏斜度衡量的是网格单元偏离理想形状的程度。对于三角形,理想形状是等边三角形;对于四边形,理想形状是正方形。

偏斜度的计算公式各家软件略有不同,但核心思想一致:偏斜度 = 1 - (实际单元面积 / 等面积理想单元面积)。值越接近0越好,越接近1越差。

控制标准(以Fluent为例):

  • 优秀:偏斜度 < 0.3
  • 良好:偏斜度 0.3 ~ 0.6
  • 可接受:偏斜度 0.6 ~ 0.8
  • 不可接受:偏斜度 > 0.9(必须修复)

小技巧:检查偏斜度时,别只看平均值。我习惯看最大偏斜度偏斜度大于0.8的单元数量。有时候平均值很漂亮,但几个坏单元就能毁掉整个计算。

1.5 边界层网格加密技巧

边界层网格,是CFD精度优化的重中之重。壁面附近的流动梯度最大,网格不够密,壁面剪切力、换热系数这些关键量根本算不准。

第一步:确定第一层网格高度

这需要用到y+值。y+是壁面距离的无量纲化参数,计算公式:

y+ = (ρ * u_τ * y) / μ

其中:
ρ = 流体密度
u_τ = 壁面摩擦速度
y = 第一层网格中心到壁面的距离
μ = 动力粘度

不同湍流模型对y+的要求不同:

湍流模型 目标y+ 说明
k-ε 标准壁面函数 30 ~ 300 第一层网格在对数律区
k-ω SST < 1 需要解析粘性底层
增强壁面处理 < 5 过渡区域需注意
LES/DES < 1 必须解析粘性底层

第二步:确定边界层层数和增长率

我一般这样设置:

  • 层数:10-20层(简单流动10层够用,分离流动需要15-20层)
  • 增长率:1.1 ~ 1.2(增长率太大,网格过渡不光滑;太小,层数太多浪费)
  • 总厚度:覆盖边界层厚度的80%-100%

避坑指南:我曾经算一个高雷诺数平板流动,边界层网格只画了8层,增长率设到1.3。结果壁面剪切力比实验值高了15%。后来改成15层、增长率1.15,误差降到3%以内。记住:边界层网格宁多勿少,增长率宁小勿大

第三步:网格过渡要平滑

边界层网格和主流网格之间,体积变化率不要超过20%。也就是说,相邻网格的体积比不能超过1.2。否则会在过渡区产生数值误差,甚至导致收敛困难。

1.6 知识体系总览

下面这张图,是我自己总结的网格质量与拓扑优化知识框架。你可以把它当作一个检查清单:

网格质量与拓扑优化 网格类型选择 结构化网格 非结构化网格 混合网格方案 网格质量指标 正交性 ≥ 50° 长宽比控制 偏斜度 ≤ 0.8 边界层网格加密 第一层高度 (y+) 层数 & 增长率 平滑过渡 核心原则:几何适配 + 质量达标 + 边界层精细 好网格 = 好结果,网格质量决定仿真精度上限

这张图把网格优化的三个核心维度串起来了:选对类型、控好质量、加密边界层。三者缺一不可。

最后说一句:网格质量检查不是一次性工作。我习惯在计算前、计算中、计算后各检查一次。计算前看静态质量指标,计算中看残差和y+分布,计算后看结果是否合理。三遍检查下来,基本不会出大问题。


公众号:蓝海资料掘金营,微信deep3321