1、CFD网格划分概述
网格划分这件事,说白了就是把连续的空间切成一个个小单元。你想想看,计算机没法直接处理无限个点,它只能算离散的格子。我刚开始做CFD那会儿,总觉得网格嘛,随便画画就行,结果算出来的结果跟实验数据差了十万八千里。嗯,后来才明白——网格质量直接决定了仿真成败。
核心观点:网格是CFD的骨架。骨架歪了,肉长得再好也没用。
1.1 网格类型
网格分三大类:结构网格、非结构网格、混合网格。每种都有它的脾气,我一个个说。
结构网格
结构网格的节点排列很有规律,像棋盘一样整整齐齐。每个内部节点周围邻居数量都一样,说白了就是有「强迫症」的网格。
- 优点:计算效率高、内存占用少、边界层处理方便
- 缺点:对复杂几何适应性差,画起来费时间
- 适用场景:简单几何、边界层流动、高精度计算
我在项目中遇到过一台换热器仿真,用结构网格算收敛速度特别快,但换个带倒角的复杂管道,光画网格就花了两天。所以啊,结构网格虽好,别硬上。
非结构网格
非结构网格就自由多了。三角形、四面体、多面体,怎么舒服怎么来。节点排列没有固定规律,像一群散漫的士兵。
- 优点:几何适应性强、自动化程度高
- 缺点:计算精度略低、内存占用大
- 适用场景:复杂几何、快速建模
说实话,现在大多数工程问题我都先用非结构网格试算。为什么?因为快啊!先跑起来看看趋势,再决定要不要精雕细琢。
混合网格
混合网格就是取长补短。近壁面用结构网格,主流区用非结构网格。我个人的习惯是:边界层至少3-5层结构网格,外面再用四面体填充。
我的经验:混合网格是工程实战中最实用的方案。既保证了边界层精度,又降低了整体网格量。我曾经在一个汽车外流场项目中,用混合网格把网格量从2000万降到了800万,结果精度反而提升了。
1.2 网格质量指标
网格画完了,怎么判断好不好?三个核心指标:正交性、长宽比、偏斜度。我一个个拆开讲。
正交性
正交性衡量的是网格线之间的夹角。理想情况是90度,越接近越好。正交性差会导致数值扩散,说白了就是计算结果被「抹平」了。
| 正交性范围 | 质量评价 | 建议 |
|---|---|---|
| 0.9 - 1.0 | 优秀 | 放心使用 |
| 0.7 - 0.9 | 良好 | 可接受 |
| 0.5 - 0.7 | 一般 | 需要局部优化 |
| < 0.5 | 差 | 必须重新划分 |
我曾经遇到一个案例,正交性只有0.3,算出来的压力场全是锯齿状。折腾了两天才发现是网格问题。嗯,从那以后我每次算之前必查正交性。
长宽比
长宽比就是网格单元最长边和最短边的比值。边界层网格长宽比可以大一些,但主流区最好控制在5以内。
- 边界层:长宽比可达100-1000,没问题
- 主流区:长宽比建议 < 5
- 过渡区:长宽比建议 < 20
注意:长宽比过大,会导致矩阵病态,收敛困难。我见过有人把长宽比拉到5000,结果残差死活降不下去。别贪图省网格量,该加密的地方别省。
偏斜度
偏斜度衡量网格单元偏离理想形状的程度。0表示完美,1表示完全退化。一般要求偏斜度 < 0.9,最好 < 0.8。
为什么会这样?因为偏斜度大的网格,数值积分精度会急剧下降。你想想看,一个被压扁的三角形,它的形函数还能准确描述物理量分布吗?显然不能。
1.3 网格划分流程
网格划分不是一蹴而就的。我总结了一套标准流程,用了七八年,基本没出过大问题。
- 几何清理:去掉小倒角、小孔、多余边线。这一步最容易被忽视,但恰恰最关键。
- 确定网格策略:根据几何复杂度、计算资源、精度要求,选择网格类型。
- 设置全局参数:基础尺寸、最大最小尺寸、增长率。
- 局部加密:在壁面、涡区、分离区等关键位置加密。
- 生成网格:先粗后细,逐步迭代。
- 质量检查:正交性、长宽比、偏斜度,一个都不能少。
- 边界层处理:确保y+值满足湍流模型要求。
- 导出与验证:导出网格文件,用简单算例验证。
避坑指南:我曾经在几何清理上偷懒,结果网格生成后发现有0.1mm的缝隙,导致计算发散。后来我养成了习惯——几何清理至少花30%的时间。别嫌慢,慢就是快。
最后说一句,网格划分没有银弹。不同的物理问题、不同的求解器、不同的精度要求,网格策略都不一样。我个人的建议是:多试、多对比、多总结。做多了,你自然就有感觉了。
记住:好的网格是算出来的,不是画出来的。先粗算看趋势,再精算要精度。别一上来就追求完美网格,那是在浪费时间。