4. 热疲劳仿真流程与工具链

焊点热疲劳仿真的可靠性,往往不取决于某一个“高级设置”,而取决于整条工作流是否闭合、各环节的数据是否一致。一个典型的焊点热疲劳分析,需要把封装几何、材料本构、温度循环载荷、求解器控制和寿命模型串成一条可追溯的链条。本节以常见的板级封装(如 FCBGA 或 QFN 焊点阵列)为对象,梳理从几何清理到寿命预测的完整流程,并给出可操作的参数示例与判断依据。

一、几何清理:把 CAD 变成“可网格化”的模型

从 CAD 或 EDA 导出的封装模型通常包含大量对热疲劳分析无意义的细节:倒角、丝印、走线、多余的基准面、重复面、微小缝隙。几何清理的目标不是“好看”,而是让后续网格划分稳定、接触对定义明确。关键操作包括:

  • 简化非结构特征:删除丝印、标记、小于 0.02 mm 的倒角与圆角;对焊点而言,保留其真实外形(如球栅、铜柱、IMC 层是否显式建模需提前决策)。
  • 修复拓扑:缝合自由边、消除重复面、修复小面与尖角,避免网格划分时出现畸形单元。
  • 建立对称/周期简化:若焊点阵列具有对称性,可取 1/4 或 1/8 模型,但必须确认温度载荷与约束也满足对称条件。
  • 统一单位与坐标系:建议统一为 mm、MPa、N、℃,并明确 z 轴为封装厚度方向,便于后续边界条件施加。

几何清理阶段最容易被忽略的是“焊点与铜盘、基板之间的接触关系”。如果焊点与铜盘在 CAD 中已经合并为一个实体,后续就无法单独提取焊点应力;如果它们是分离实体,则需要在接触定义中明确绑定或摩擦接触。建议在几何阶段就为焊点、铜盘、基板、塑封料分别命名并分组,为后续材料赋值和结果提取提供便利。

二、网格划分:焊点区域必须“局部加密”

焊点热疲劳的损伤通常集中在焊点与铜盘界面附近的角点区域,因此网格策略应遵循“全局粗、局部细”的原则。以直径 0.3 mm 的焊球为例,焊点本体可采用 0.02~0.03 mm 的单元尺寸,界面附近可进一步细化到 0.005~0.01 mm;基板和塑封料可采用 0.1~0.2 mm 的单元尺寸。单元类型优先选择六面体或楔形单元,避免在焊点内部使用四面体,因为四面体在弯曲和热循环下容易产生过刚响应。

网格质量检查应关注:雅可比比、长宽比、翘曲度、最小/最大内角。对于焊点这种小尺寸特征,建议在划分后单独提取焊点区域的单元数量与质量分布,确认没有负雅可比或严重畸变单元。若采用子模型技术,可先做全局粗网格,再在焊点局部切出子模型并施加位移边界,从而在保证精度的同时控制计算量。

三、材料模型选择:焊点必须用黏塑性本构

焊点材料(如 SAC305、SnPb)在热循环下会同时发生弹性、塑性和蠕变变形,因此不能只用线弹性模型。常用的本构包括:

  • Anand 黏塑性模型:适合 SnAgCu 焊料,参数包括 A、Q/R、ξ、m、n、s₀、ŝ 等,能同时描述率相关塑性与蠕变。
  • Darveaux 模型:以蠕变应变能密度或塑性功密度为损伤驱动量,直接与寿命关联,工程应用广泛。
  • Garofalo 双曲正弦蠕变模型:适合高温蠕变主导的场景,参数物理意义清晰。

其他材料可简化处理:铜盘和基板可用弹塑性或线弹性,塑封料可用线弹性或温变弹性模量,但必须给出随温度变化的 CTE 和模量。材料参数应注明来源(文献、厂商数据或实验拟合),并在仿真报告中保留参数版本,避免不同批次结果不可比。

四、边界条件与载荷:温度循环是核心驱动

热疲劳仿真的载荷通常为温度循环,例如 JEDEC JESD22-A104 条件:-40℃~125℃,升降温各 15 min,高低温各保持 15 min,循环 1000 次。施加方式有两种:

  • 均匀温度场:对整个模型施加节点温度,适合快速评估,但忽略封装内部温度梯度。
  • 映射温度场:从热仿真或实测得到温度分布,逐节点映射到结构模型,精度更高但流程更长。

力学约束方面,通常对基板底部或对称面施加法向位移约束,并选取一个角点约束切向位移,防止刚体运动。若使用 1/4 模型,对称面施加对称边界。需要特别注意的是:约束点应远离焊点关注区域,避免人为应力集中影响寿命预测。

五、求解器设置与后处理:稳定收敛与关键输出

黏塑性问题通常采用隐式求解器,打开大变形选项,并设置自动时间步。以 1000 次循环为例,若每个循环用 20~50 个子步,计算量较大,可先做 3~5 个循环确认稳定,再通过稳定循环外推。收敛判据建议同时监控力残差和位移残差,残差容差可设为 0.5%~1%。

后处理阶段应提取:焊点界面处的等效塑性应变、蠕变应变能密度、累积塑性功、最大主应力,以及关键节点的温度-应变滞回环。滞回环的面积直接反映每个循环的耗散能,是寿命预测的重要输入。建议对每个焊点单独输出,并记录其位置(角点、边缘、中心),因为不同位置的焊点寿命差异可能达到数倍。

六、寿命预测:从损伤参量到循环数

以 Darveaux 模型为例,其寿命由裂纹萌生和扩展两部分组成:

N0 = K1 * (ΔW_avg)^K2
da/dN = K3 * (ΔW_avg)^K4
Nf = N0 + a / (da/dN)

其中 ΔW_avg 为焊点界面层的平均蠕变应变能密度增量,K1~K4 为材料常数,a 为裂纹特征长度。工程中常取焊点直径的 20%~30% 作为失效判据对应的裂纹长度。若采用 Coffin-Manson 类模型,则用等效塑性应变范围 Δε_p 与疲劳延性系数关联。无论采用哪种模型,都应明确:寿命预测结果是相对比较值还是绝对寿命,并给出置信区间或分散带。

焊点热疲劳仿真完整工作流 几何 → 网格 → 材料 → 载荷 → 求解 → 后处理 → 寿命 ① 几何清理 删除倒角/丝印 缝合自由边 焊点/铜盘分组 统一 mm/MPa/℃ ② 网格划分 焊点 0.02 mm 界面细化 0.005 mm 六面体优先 检查雅可比 ③ 材料模型 焊点 Anand 黏塑性 Darveaux 损伤 铜/基板弹塑性 CTE 随温度变化 ④ 边界与载荷 -40~125℃ 循环 升降温 15 min 对称/角点约束 温度场映射 ⑤ 求解器设置 隐式 + 大变形 自动时间步 残差容差 0.5% 先算 3~5 循环 ⑥ 后处理关键输出 等效塑性应变 Δε_p 蠕变应变能密度 ΔW_avg 温度-应变滞回环 按焊点位置分别提取 ⑦ 寿命预测 Darveaux: N0 + a/(da/dN) Coffin-Manson: Δε_p 关联 裂纹长度取焊点直径 20% 给出分散带与置信区间 若寿命不达标:回到几何/材料/网格迭代 示例参数: 焊球直径 0.3 mm 焊点单元 0.02 mm 温度 -40~125℃ 循环 1000 次 残差 0.5% 裂纹 20% 直径 注:以上为教学示例参数,实际项目需根据封装结构、材料数据和试验条件调整。

七、工具链与数据传递

实际项目中,上述流程通常由多个工具协同完成。几何清理可用 SpaceClaim、ANSYS Discovery 或 CAD 自带修复工具;网格划分常用 ANSYS Meshing、HyperMesh 或 Abaqus/CAE;求解器可选 ANSYS Mechanical、Abaqus/Standard 或 COMSOL;寿命预测可在 nCode、FE-SAFE 或自编 Python 脚本中完成。数据传递的关键是:几何命名、材料 ID、集合名称、单位制在工具之间保持一致,避免“网格导入后材料丢失”或“焊点集合错位”。

建议:在项目开始前建立一份“仿真配置表”,记录几何版本、网格尺寸、材料参数来源、温度曲线、求解器版本和寿命模型常数。这样当结果出现异常时,可以快速定位是输入变化还是模型问题。
常见误区:只做 1 个循环就外推 1000 次寿命,忽略稳定循环的建立;或只提取最大应力点而忽略焊点界面层的平均损伤参量。前者会导致寿命高估,后者会导致寿命预测分散度过大。

整条工作流的闭环在于:几何和网格决定模型能否算得动,材料模型决定算得准不准,边界条件和求解器设置决定算得稳不稳,后处理和寿命模型决定结果有没有工程意义。只有每一步都留下可追溯的记录,焊点热疲劳仿真才能真正支撑封装可靠性设计,而不是停留在“跑通一次”的层面。