一、网格质量与拓扑优化:结构化网格 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 知识体系总览
下面这张图,是我自己总结的网格质量与拓扑优化知识框架。你可以把它当作一个检查清单:
这张图把网格优化的三个核心维度串起来了:选对类型、控好质量、加密边界层。三者缺一不可。
最后说一句:网格质量检查不是一次性工作。我习惯在计算前、计算中、计算后各检查一次。计算前看静态质量指标,计算中看残差和y+分布,计算后看结果是否合理。三遍检查下来,基本不会出大问题。
公众号:蓝海资料掘金营,微信deep3321