4. 有限元分析(FEA)入门:网格划分、边界条件、载荷施加,以Ansys为例

各位工程师朋友,咱们今天聊聊有限元分析。说实话,很多搞封装的人一听到FEA就头大,觉得那是仿真工程师的事。但我不这么看。你想想看,基板翘曲、焊点开裂、界面分层,这些问题哪个不是热应力引起的?不懂点FEA,你连问题出在哪都说不清楚。

我个人习惯用Ansys Workbench做封装基板的热应力分析。今天我就把最核心的三个步骤——网格划分、边界条件、载荷施加——掰开揉碎了讲给你听。

FEA热应力分析 网格划分 六面体/四面体/局部加密 边界条件 固定约束/对称/接触 载荷施加 温度载荷/热对流/热辐射 六面体主导 局部加密 固定约束 对称边界 温度载荷 热对流

4.1 网格划分——决定精度的第一步

网格划分这事,我踩过的坑比走过的路还多。刚入行那会儿,我总觉得网格越密越好,结果算一个简单的基板翘曲,跑了整整两天还没出结果。后来才明白,网格不是越密越好,而是要「用在刀刃上」。

核心原则:在应力集中区域加密,在远离关注区域的地方稀疏。说白了就是「好钢用在刀刃上」。

在Ansys Workbench中,我一般这样操作:

  1. 全局网格控制——先设置一个基础尺寸,比如对于封装基板,我通常设0.5mm~1mm。这个值取决于你的基板大小和计算资源。
  2. 局部网格细化——在焊点、铜柱、RDL拐角这些地方,我会把网格尺寸降到0.05mm~0.1mm。为什么?因为这些地方应力梯度大,粗网格根本抓不住应力峰值。
  3. 网格类型选择——我个人偏爱六面体网格,计算精度高、节点数少。但遇到复杂几何,比如带倒角的焊点,六面体死活画不出来,那就老老实实用四面体。

我的小技巧:在Ansys里用「Multizone」方法,可以自动把大部分区域切成六面体,只在复杂区域保留四面体。这样既保证了精度,又控制了计算量。

4.2 边界条件——别让模型「飞」了

边界条件设置不当,结果就是「差之毫厘,谬以千里」。我记得有一次帮同事看一个基板翘曲仿真,他算出来翘曲量有2mm,实测只有0.3mm。我一看,好家伙,他把基板四个角全固定死了。你想想看,基板在回流焊时是自由放置的,你把它钉死,它当然翘不起来。

常见的边界条件类型:

边界类型 适用场景 注意事项
固定约束 模拟夹具夹持、螺丝固定 不要滥用,否则会引入虚假约束
位移约束 模拟对称边界、滚轴支撑 只约束不需要的自由度
无摩擦支撑 模拟自由放置、滑移接触 法向约束,切向自由
对称边界 模型对称时使用 必须确保几何、载荷、边界都对称

避坑指南:我曾经犯过一个低级错误——在热应力分析中忘了释放面外位移。结果算出来的应力值高得离谱,还以为是材料参数设错了。折腾了两天才发现,原来是边界条件多约束了一个自由度。

对于封装基板的热应力分析,我建议这样设置:

  • 如果模拟回流焊过程:在基板底面中心施加一个「弱弹簧」约束,防止刚体位移,但不限制热变形。
  • 如果模拟板级可靠性测试:在PCB四个角施加固定约束,模拟螺丝固定。
  • 如果模型对称:切一半,在对称面上施加对称边界条件,计算量直接减半。

4.3 载荷施加——温度才是主角

封装基板的热应力分析,载荷说白了就是温度。但温度怎么加?加多少?这里面门道不少。

在Ansys中,热应力分析的载荷施加分两步:

  1. 热分析——先算温度场分布。施加对流载荷、热辐射、热源等。
  2. 结构分析——把热分析得到的温度场作为载荷,映射到结构模型上,计算热应力。

我个人习惯用「直接耦合」方法,也就是在Ansys Workbench里拖一个「Static Structural」模块,然后在「Imported Load」里导入温度场。这样一步到位,省得来回倒数据。

关键参数设置:

  • 参考温度:通常设为固化温度或室温。比如环氧树脂的固化温度是175°C,那参考温度就设175°C。这样算出来的应力才是「从固化到室温」产生的热应力。
  • 温度载荷:如果是模拟回流焊,温度曲线从室温升到峰值260°C,再降到室温。这个温度变化就是你的载荷。
  • 热对流系数:自然对流一般取5~25 W/m²·K,强制对流取50~500 W/m²·K。具体值取决于你的工艺条件。

举个例子,一个典型的FCBGA基板热应力分析,载荷施加的APDL命令流大概长这样:

! 定义材料属性
MP,EX,1,170e9    ! 硅芯片的杨氏模量
MP,ALPX,1,2.6e-6 ! 硅的热膨胀系数
MP,EX,2,24e9     ! 基板芯材的杨氏模量
MP,ALPX,2,15e-6  ! 基板芯材的CTE

! 施加温度载荷
TREF,175         ! 参考温度(固化温度)
BFV,ALL,TEMP,25  ! 施加最终温度(室温)

! 求解
SOLVE

我的经验:如果你只关心翘曲量,可以简化成「均匀温度变化」载荷,不用做完整的热分析。但如果你关心焊点内部的应力分布,那就必须做热-结构耦合分析,因为焊点内部的温度梯度会影响应力分布。

4.4 实战案例:一个简单的基板翘曲分析

说了这么多理论,咱们来点实际的。假设你有一个10mm×10mm的封装基板,厚度0.8mm,上面贴了一个5mm×5mm的硅芯片。你想知道从固化温度175°C降到室温25°C后,基板翘曲多少。

操作步骤:

  1. 在Ansys Workbench里拖一个「Static Structural」模块。
  2. 导入几何模型(基板+芯片)。
  3. 设置材料属性:基板CTE=15ppm/°C,芯片CTE=2.6ppm/°C。
  4. 网格划分:基板用0.5mm六面体网格,芯片用0.2mm六面体网格。
  5. 边界条件:在基板底面中心施加弱弹簧约束。
  6. 载荷:参考温度设175°C,施加均匀温度载荷25°C。
  7. 求解,查看总变形。

算出来的翘曲量一般在0.1mm~0.3mm之间。如果结果偏大,检查一下CTE值是不是设对了;如果结果偏小,看看是不是边界条件约束过度了。

最后提醒一句:FEA算出来的结果,永远只是「仿真结果」,不是「实测结果」。我见过太多人把仿真数据当圣旨,结果流片回来傻眼了。记住,仿真帮你找趋势、找敏感参数,但最终还是要靠实验验证。

好了,关于FEA入门的三板斧——网格划分、边界条件、载荷施加,我就讲到这里。这些东西看着简单,但每一条都是我拿项目周期换来的教训。你回去动手试试,遇到问题再来找我聊。

公众号:蓝海资料掘金营,微信deep3321