4、网格划分策略:网格类型、质量指标与局部细化技术
网格划分,说白了就是把连续的空间切成一小块一小块。你想想看,计算机没法直接处理一个连续的物体,它得把这些几何体离散成一个个小单元,然后在这些单元上求解方程。这一步做不好,后面算得再漂亮也是白搭。
我个人习惯把网格划分比作盖房子的地基。地基没打好,房子迟早要出问题。我在项目中遇到过不少次,明明物理模型没问题,边界条件也设对了,结果算出来就是不对。最后查来查去,问题出在网格上——要么太粗糙,要么质量太差。
4.1 网格类型:四面体、六面体、棱柱
常见的网格类型就三种:四面体、六面体、棱柱。每种都有它的脾气。
4.1.1 四面体网格(Tetrahedron)
四面体网格是最通用的。任何复杂的几何形状,它都能自适应地填充。说白了,就是「万能胶」。
- 优点:自动划分能力强,几乎不需要人工干预。适合复杂几何。
- 缺点:单元数量多,计算量大。而且四面体的数值刚度偏硬,容易导致结果偏保守。
- 适用场景:复杂装配体、生物医学模型、不规则几何。
4.1.2 六面体网格(Hexahedron)
六面体网格是仿真工程师的「梦中情人」。它的数值性能最好,能用最少的单元达到最高的精度。
- 优点:单元数量少,计算效率高。数值精度高,尤其适合结构分析和流体分析。
- 缺点:划分难度大。对于复杂几何,几乎不可能全自动生成六面体网格。
- 适用场景:规则几何体、管道、梁、板壳结构。
4.1.3 棱柱网格(Prism)
棱柱网格是四面体和六面体的「混血儿」。它通常用在边界层区域,比如流体分析中靠近壁面的地方。
- 优点:能很好地捕捉边界层的梯度变化。在壁面附近生成细长单元,提高近壁区精度。
- 缺点:生成算法相对复杂,容易在尖角处产生扭曲单元。
- 适用场景:流体边界层、热边界层、电磁场近场区域。
嗯,这里要注意:棱柱网格通常不是单独使用的,而是和四面体或六面体配合使用。比如,在壁面附近生成几层棱柱,内部用四面体填充。这种混合网格在实际工程中非常常见。
4.2 网格质量指标:偏斜度与正交质量
网格划分完了,怎么判断它好不好?不能光看单元数量,还得看质量。我常用的两个指标是偏斜度和正交质量。
4.2.1 偏斜度(Skewness)
偏斜度衡量的是单元形状偏离理想形状的程度。理想情况下,偏斜度为0。越接近1,单元越扭曲。
| 偏斜度范围 | 质量等级 | 建议 |
|---|---|---|
| 0 - 0.25 | 优秀 | 完美,无需处理 |
| 0.25 - 0.50 | 良好 | 可接受 |
| 0.50 - 0.75 | 一般 | 需要局部优化 |
| 0.75 - 0.90 | 较差 | 建议重新划分 |
| 0.90 - 1.00 | 极差 | 必须重新划分 |
我曾经遇到过一个案例,偏斜度高达0.95的单元出现在一个圆角处。结果求解器直接报错,说雅可比矩阵奇异。后来我把那个圆角切了一刀,重新生成网格,偏斜度降到0.3,问题就解决了。
4.2.2 正交质量(Orthogonal Quality)
正交质量衡量的是单元各边之间的正交程度。理想值为1,越接近0说明单元越扭曲。
- 优秀:0.7 - 1.0
- 良好:0.4 - 0.7
- 较差:0.1 - 0.4
- 极差:0.0 - 0.1
4.3 局部网格细化技术
全局加密网格是最笨的办法。你想想看,整个模型都加密,计算量翻好几倍,但很多区域根本不需要那么细。局部细化才是聪明人的做法。
4.3.1 基于曲率的细化
在几何曲率大的地方,比如圆角、尖角、小孔附近,网格需要更密。因为在这些地方,物理量的梯度变化剧烈。
// 示例:在ANSYS Meshing中设置曲率细化
// 设置最小曲率半径的网格尺寸
Curvature Normal Angle = 18° // 角度越小,网格越密
Min Size = 0.1 mm
Max Size = 1.0 mm
4.3.2 基于物理场的自适应细化
这是更高级的做法。先算一遍粗网格,然后根据结果中的梯度(比如应力梯度、温度梯度)自动加密网格。
- 步骤1:用粗网格计算一次。
- 步骤2:分析结果,找出梯度大的区域。
- 步骤3:在这些区域加密网格。
- 步骤4:重新计算,直到结果收敛。
4.3.3 边界层网格细化
在流体分析和热分析中,壁面附近的边界层非常重要。这里需要生成非常细的网格,通常用棱柱层来实现。
// 边界层网格参数设置示例
First Layer Thickness = 0.01 mm // 第一层厚度
Growth Rate = 1.2 // 增长率
Number of Layers = 10 // 层数
为什么第一层厚度这么重要?因为壁面处的速度梯度最大。如果第一层网格太厚,就捕捉不到边界层内的速度变化,算出来的壁面剪切力就不准。
4.4 知识体系结构图
下面这张图总结了本章的核心逻辑。你可以把它当作一个快速参考。
4.5 实战建议
最后,给你几条实战建议,都是我踩过坑之后总结出来的:
- 先粗后细:先用粗网格跑一遍,看看趋势对不对。趋势对了再加密。别一上来就搞几百万单元,浪费时间。
- 关注最差单元:不要只看平均质量。一个偏斜度0.95的单元就能毁掉整个求解。我习惯先找出最差的10个单元,看看它们在哪,然后手动修复。
- 网格无关性验证:这是必须做的。加密网格,看看结果变化大不大。如果变化很小,说明网格已经够细了。如果变化很大,继续加密。
- 混合网格是王道:不要死磕全六面体。在复杂区域用四面体,在规则区域用六面体,在边界层用棱柱。这种混合网格往往是最优解。