4. 几何建模与网格划分:从CAD到可计算模型
做多物理场仿真这么多年,我有个深刻的体会:仿真80%的问题,其实都出在几何和网格上。你想想看,物理场设置再精确,边界条件再完美,如果几何有瑕疵、网格质量差,结果照样是废的。
这一章,我就把几何建模和网格划分的那些坑,一个一个给你讲清楚。
4.1 CAD模型导入:别让导入成为第一道坎
很多工程师拿到CAD模型,直接往COMSOL或ANSYS里一拖,就开始划分网格。结果呢?报错、死机、网格畸形……我刚开始做项目时也吃过这个亏。
CAD模型导入,说白了就是格式转换。不同软件之间的数据交换,总会有信息丢失。我个人习惯用这几种格式:
| 格式 | 适用场景 | 注意事项 |
|---|---|---|
| STEP (.stp/.step) | 通用格式,几乎所有CAD都支持 | 保留实体和装配关系,推荐首选 |
| IGES (.igs) | 老牌格式,曲面模型 | 容易产生碎面,慎用 |
| Parasolid (.x_t) | ANSYS原生格式 | 导入速度快,但兼容性一般 |
| STL (.stl) | 3D打印/逆向工程 | 只有三角面片,无法编辑几何 |
4.2 几何清理:仿真前的必修课
CAD模型是为制造设计的,不是为仿真设计的。你想想看,一个螺栓孔、一个倒角、一条装饰线,在制造中很重要,但在仿真中只会增加网格数量、降低计算效率。
几何清理的核心原则就四个字:化繁为简。
我一般按这个顺序清理:
- 去除小特征:倒角、圆角、小孔(直径小于网格尺寸的1/5)
- 修复缝隙:面与面之间的微小间隙,用"缝合"功能处理
- 删除重复面:导入时经常产生重叠的面
- 简化装配体:把螺栓、垫片等小零件合并或删除
- 创建虚拟拓扑:把多个小面合并成一个面
4.3 网格类型选择:四面体 vs 六面体
这是每个仿真工程师都会纠结的问题。四面体网格自动生成方便,六面体网格精度高。到底选哪个?
我画了一张图,帮你理清思路:
具体怎么选?我给你几个实战建议:
- 四面体网格:适合复杂几何(人体、涡轮叶片、不规则腔体)。COMSOL默认就是四面体,生成速度快,但单元数量多,计算慢。
- 六面体网格:适合规则几何(长方体、圆柱、管道)。ANSYS的六面体网格质量高,单元少,计算快。但手动划分很费时间。
- 混合网格:我经常用的一种方式。关键区域用六面体,非关键区域用四面体。比如一个电机仿真,定子用六面体,端部绕组用四面体。
核心原则:不要为了六面体而六面体。如果一个几何需要花3天时间才能切成六面体,而四面体只需要1小时,那就用四面体。仿真效率比网格类型更重要。
4.4 网格质量评估:别让坏网格毁了你的仿真
网格画完了,不代表就能直接算。我见过太多人,网格画完看都不看,直接点求解。结果算到一半发散,或者结果明显不对。
网格质量评估,说白了就是检查网格有没有"病"。常见的指标有这几个:
| 指标 | 理想值 | 可接受值 | 说明 |
|---|---|---|---|
| 偏斜度 (Skewness) | 0-0.25 | 0-0.85 | 越接近0越好,>0.95的单元必须处理 |
| 正交质量 (Orthogonal Quality) | 0.95-1.0 | 0.15-1.0 | 越接近1越好,<0.01的单元会出问题 |
| 纵横比 (Aspect Ratio) | 1-3 | 1-10 | 边界层网格可以到100,但内部网格要控制 |
| 雅可比 (Jacobian Ratio) | 1.0 | 0.7-1.0 | 负雅可比意味着单元翻转,必须修复 |
嗯,这里要注意:不要只看平均值,要看最差值。一个坏单元就能让整个仿真发散。我有个习惯,每次画完网格,先看最差的10个单元在哪里,然后手动修复。
4.5 实战技巧:网格划分的"黄金法则"
做了这么多年仿真,我总结了几条网格划分的黄金法则,分享给你:
- 先粗后细:先用粗网格跑一遍,看趋势对不对。没问题了,再加密网格做精确计算。
- 局部加密:梯度大的地方(边界层、应力集中区、流道拐角)加密,其他地方可以粗一些。
- 网格过渡要平滑:相邻单元的尺寸比不要超过1.5倍。突然从粗网格跳到细网格,会产生数值误差。
- 边界层至少3层:对于流体和热仿真,边界层网格至少3层,最好5层以上。
- 网格无关性验证:加密网格后,如果结果变化小于5%,说明网格已经够用了。
最后说一句:网格划分不是一次性的工作。你可能会反复调整好几次,才能找到最优的网格方案。别急,慢慢来,网格质量上去了,仿真结果才有说服力。
公众号:蓝海资料掘金营,微信deep3321