4、网格质量对精度的影响:六面体与四面体网格的取舍,网格密度与计算精度的平衡
网格划分这事儿,说实话,是仿真里最磨人的环节之一。我见过不少新手,模型建得漂漂亮亮,结果网格一塌糊涂,算出来的力值偏差30%以上。嗯,今天咱们就聊聊这个绕不开的话题。
4.1 六面体 vs 四面体:不是选择题,是判断题
很多人一上来就问:「老师,插拔力仿真到底该用六面体还是四面体?」我的回答是——看情况。这不是和稀泥,是经验。
六面体网格的优势:
- 单元形状规整,计算精度高。同样的节点数,六面体比四面体准得多。
- 在弯曲、扭转等变形模式下,六面体不容易出现「剪切闭锁」现象。
- 收敛性好,迭代次数少。我做过对比,同样模型六面体比四面体快30%左右。
四面体网格的优势:
- 自动化程度高。复杂几何一键生成,不用费劲切分。
- 适应性好。尖角、薄壁、过渡区域都能自动处理。
- 接触面网格匹配容易。插拔力仿真里,公母端子接触区域用四面体反而更方便。
我的个人习惯:插拔力仿真中,端子主体用六面体,接触区域用四面体。这样既保证了整体精度,又照顾了局部细节。说白了,就是「好钢用在刀刃上」。
我在项目中遇到过一件事:一个汽车连接器的插拔力仿真,全用六面体网格,结果接触区域的网格扭曲太严重,算出来的插拔力比实测高了40%。后来我把接触区域改成四面体,误差降到了8%以内。你想想看,网格类型选错了,后面再调参数都是白费劲。
4.2 网格密度:不是越密越好
这个道理其实很简单——网格越密,计算越准,但时间成本也越高。问题是,精度提升和网格密度之间不是线性关系。
我画过一张图,大概长这样:
看到没?曲线有个明显的拐点。在拐点之前,加密网格效果显著;过了拐点,再加密就是事倍功半了。
我的经验法则:插拔力仿真中,接触区域的网格尺寸取端子壁厚的1/3~1/2,非接触区域取壁厚的1~2倍。这样基本能落在「最佳平衡区」里。
4.3 网格质量检查:别等算完才发现问题
我曾经犯过一个低级错误——网格划分完没检查,直接提交计算。跑了12个小时,结果报错说单元扭曲过大。嗯,从那以后我养成了习惯:算之前先查网格质量。
主要看这几个指标:
| 指标 | 合格标准 | 插拔力仿真建议 |
|---|---|---|
| 长宽比 (Aspect Ratio) | < 5 | 接触区域 < 3,非接触区域 < 5 |
| 扭曲度 (Skewness) | < 0.85 | 最好 < 0.7,超过0.9必须重画 |
| 正交质量 (Orthogonal Quality) | > 0.15 | 接触区域 > 0.3 |
| 雅可比 (Jacobian Ratio) | > 0.7 | 最好 > 0.8,低于0.5会严重影响精度 |
注意:插拔力仿真中,接触区域的网格质量要求比普通区域高一个等级。因为接触压力、摩擦力这些量对网格畸变非常敏感。我见过一个案例,接触区域雅可比从0.85降到0.6,插拔力结果差了22%。
4.4 实战技巧:网格过渡与局部加密
说白了,网格划分的核心就四个字——疏密有致。该密的地方密,该疏的地方疏,中间过渡要平滑。
具体怎么做?
- 接触区域局部加密:在公母端子接触的倒角、R角位置,网格尺寸加密到0.05~0.1mm。
- 应力集中区细化:插拔过程中应力最大的位置(比如端子根部),网格至少加密2~3倍。
- 过渡区用渐变网格:从密区到疏区,网格尺寸变化率控制在1.2~1.5倍以内。变化太大会引入数值误差。
- 厚度方向至少3层:薄壁件在厚度方向至少保证3层单元,否则弯曲刚度算不准。
// 以Abaqus为例,局部加密的Python脚本片段
# 定义接触区域的种子密度
part.seedPart(size=0.08, deviationFactor=0.1, minSizeFactor=0.1)
# 在接触面设置局部种子
face = part.faces.findAt(((x, y, z),))
part.setSeedByNumber(region=face, number=20)
# 生成网格
part.generateMesh()
避坑指南:我曾经在某个项目中,为了追求精度把整个模型都加密到0.05mm。结果模型有200万个单元,算一次要3天。后来只把接触区域加密到0.05mm,其他区域用0.2mm,单元数降到40万,计算时间缩短到6小时,精度只差了2%。你想想看,这性价比差了多少倍?
4.5 网格无关性验证:别让网格成为变量
这个步骤很多人会跳过,但我建议你一定要做。说白了就是——验证你的结果是不是「网格无关」的。
做法很简单:
- 先画一套粗网格(比如接触区域0.2mm)
- 再画一套中等网格(0.1mm)
- 最后画一套细网格(0.05mm)
- 对比三套网格的计算结果
如果粗网格和中等网格的结果差异小于5%,那粗网格就够用了。如果差异很大,继续加密直到收敛。
我记得有个项目,粗网格算出来插拔力是12.5N,中等网格是13.8N,细网格是14.1N。粗网格和细网格差了11%,但中等网格和细网格只差了2%。所以最后我用了中等网格,既保证了精度,又没浪费计算资源。
小技巧:做网格无关性验证时,先算粗网格,再在粗网格基础上局部加密,而不是每次都从头画网格。这样能省不少时间。
嗯,网格质量这块儿就聊到这儿。说白了,六面体还是四面体、密还是疏,没有绝对的对错。关键是你得理解自己的模型需要什么,然后做出合理的选择。多试几次,你自然就有感觉了。
公众号:蓝海资料掘金营,微信deep3321