第四章:几何建模与网格划分——从CAD到可计算域
各位同学,欢迎来到第四章。这一章,我们要解决一个很实际的问题:怎么把工程师画的CAD模型,变成CFD能算的网格。
说实话,我见过太多人在这步栽跟头。模型画得漂漂亮亮,一导入CFD软件就报错;网格剖得密密麻麻,算出来结果却不对。嗯,这章就是帮你避开这些坑的。
4.1 几何准备:CAD清理——别让脏数据毁了你的仿真
你想想看,CAD模型是为制造设计的,不是为CFD设计的。里面有多少细节?倒角、螺纹、小圆孔、装配间隙……这些在CFD里,往往是计算负担,不是精度来源。
核心原则:简化几何,保留流动特征。
我个人习惯,拿到CAD模型后,先做三件事:
- 去倒角、去小特征——直径小于网格尺寸5%的圆孔、倒角,直接删掉。我在项目中遇到过,一个0.5mm的倒角让网格量翻了一倍,结果影响不到0.1%。
- 修补缝隙和重叠面——CAD导入后经常出现“破面”。用软件里的“缝合”、“填充”功能,确保几何是封闭的。否则网格生成会直接报错。
- 提取流道——如果是内流问题(比如管道、阀门),需要从实体中“挖”出流体区域。我常用布尔运算:实体减去固体,剩下的就是流体域。
4.2 网格类型选择——结构化 vs 非结构化,你选哪个?
网格类型,说白了就两大类:结构化网格和非结构化网格。各有各的脾气。
| 类型 | 优点 | 缺点 | 适用场景 |
|---|---|---|---|
| 结构化网格 | 计算快、精度高、内存省 | 几何适应性差、手动工作量大 | 简单几何(管道、翼型、矩形通道) |
| 非结构化网格 | 几何适应性强、自动化程度高 | 计算慢、精度略低、内存占用大 | 复杂几何(汽车、涡轮、人体血管) |
| 混合网格 | 兼顾精度和适应性 | 生成复杂、需要经验 | 边界层+复杂主流区域 |
我个人的经验是:能用结构化,就别用非结构化。为什么?因为结构化网格的数值耗散小,同样的网格量,精度能高一个档次。但如果你遇到的是汽车外流场这种复杂几何,别硬撑——非结构化网格才是正道。
4.3 网格质量评价——三个核心指标
网格生成完了,别急着算。先检查质量。我见过太多人,网格一生成就点“Solve”,结果算到一半发散,白白浪费几小时。
三个核心指标,你必须记住:
4.3.1 正交性(Orthogonality)
正交性衡量的是网格线与边界之间的夹角。理想情况是90°,越接近越好。
- 优秀: > 70°
- 可接受: 30° ~ 70°
- 危险: < 20°(可能发散)
我在项目中遇到过,一个弯管网格的正交性只有15°,算出来的压力分布完全不对。后来加密了边界层网格,正交性提升到45°,结果才合理。
4.3.2 长宽比(Aspect Ratio)
长宽比是网格单元最长边与最短边的比值。比值越接近1越好。
- 主流区域: < 5
- 边界层区域: 可以到100~1000(因为需要拉伸网格捕捉梯度)
- 危险: > 1000(可能引起数值振荡)
嗯,这里要注意:边界层的长宽比大是正常的,但主流区域的长宽比一定要控制好。否则,你算出来的速度场会像锯齿一样。
4.3.3 偏斜度(Skewness)
偏斜度衡量网格单元偏离理想形状的程度。0表示完美,1表示完全扭曲。
- 优秀: < 0.3
- 可接受: 0.3 ~ 0.7
- 危险: > 0.9(必须修复)
4.4 网格无关性验证——你的结果可信吗?
网格无关性验证,说白了就是:你的计算结果,是不是依赖于网格密度?
怎么做?我一般用三步法:
- 生成三套网格: 粗网格(1x)、中等网格(2x)、细网格(4x)。这里的“x”指的是网格数量倍数。
- 计算关键物理量: 比如阻力系数、升力系数、压降、温度等。记录每套网格的结果。
- 比较差异: 如果中等网格和细网格的结果差异小于1%~2%,说明网格已经无关了。
举个例子,我做过一个管道压降分析:
| 网格 | 网格数量 | 压降 (Pa) | 与细网格差异 |
|---|---|---|---|
| 粗网格 | 50万 | 1250 | 4.2% |
| 中等网格 | 100万 | 1285 | 1.5% |
| 细网格 | 200万 | 1305 | 基准 |
你看,中等网格和细网格的差异只有1.5%,说明100万网格已经够用了。没必要再加密到200万,白白浪费计算资源。
本章知识体系
下面这张图,帮你理清本章的核心逻辑:
这张图展示了本章的完整流程:从CAD清理开始,到网格类型选择,再到质量评价,最后通过网格无关性验证确保结果可靠。每一步都环环相扣,缺一不可。
好了,第四章的内容就到这里。记住:网格是CFD的基石。网格质量不好,后面再好的求解器、再精细的物理模型,都是白搭。我见过太多人,花90%的时间调求解器,却只花10%的时间做网格——结果算出来的东西,自己都不敢信。
下一章,我们会进入求解设置。但在此之前,我建议你亲手做一遍网格无关性验证。哪怕只是一个简单的管道,也能让你深刻理解“网格”这两个字的分量。