注:该内容由“数模加油站”原创,无偿分享,可以领取参考但不要利用该内容倒卖,谢谢!
A:芯片热弹性物理参数估计
问题1分析:
在问题一中,我们面对的是一个典型的异质结构等效物理参数估计问题。题目给出了PCB板、焊球与BGA组件的简化几何结构,要求估计其角点沿对角线方向的等效拉伸与弯曲杨氏模量以及等效热膨胀系数。由于这种结构具有周期性排列的焊球与层状结构,因此可以将其视为非均质复合材料系统,从材料力学的角度出发,通过等效材料理论对其力学与热学响应进行简化建模。在建模过程中,我们可以抽取穿过结构角点沿对角线方向的代表性路径,建立一维或二维的周期单胞模型,并运用串联与并联规则混合法来估计等效杨氏模量和热膨胀系数。串联模型适用于多种材料交替承受相同轴向应力的情形,而并联模型则适用于不同材料层共同变形的场景,通过材料在路径中所占比例进行加权计算。考虑到该结构在热疲劳下主要表现为角点失效,还可以进一步基于板壳理论,从弹性弯曲刚度公式出发,推导等效弯曲模量,构建更贴近物理现实的应力分析模型。此外,焊球数量与排列密度()对材料路径的影响不容忽视,可通过设置周期性边界或平均单胞的方式纳入模型。最终,形成一个反映宏观有效性能的简化数学表达式,为后续问题分析提供理论基础。
问题一:思路详解与建模过程
在问题一中,我们面对的是一个简化的BGA封装结构,它由PCB板、焊球阵列和BGA封装三种材料组成,要求估计封装对角线方向角点位置的等效拉伸杨氏模量、弯曲杨氏模量及等效热膨胀系数。这类问题属于非均质材料系统的热弹性参数等效建模问题。本质上,我们需要将复杂的微观多相结构“平均化”,构建一组可用于宏观热力分析的等效材料参数。
一、模型简化与假设
为建立数学模型,我们作如下合理简化:
- 将PCBA系统视为由三种材料交错排列构成的复合层状结构;
- 焊球以规则的
网格排布,整体结构具有某种周期性;
- 角点沿对角线方向的路径是失效最可能发生的路径,可作为研究方向;
- 材料在热-力响应中为线弹性、各向同性;
- 忽略时间相关性(即只考虑稳态响应)。
二、沿对角线方向的材料路径建模
我们考虑沿对角线(即主应变方向)的一条代表性材料路径。在该路径上,材料顺序排列为 PCB → 焊球 → BGA → 焊球 → PCB …,可以将其等效为若干材料串联或并联。
定义各材料参数如下:
- PCB板:杨氏模量
,热膨胀系数
- 焊球:杨氏模量
,热膨胀系数
- BGA封装:杨氏模量
,热膨胀系数
路径上各材料的长度比例可视为单位长度内各材料占比。我们定义如下比例参数:
- 在一段对角线方向长度
内,PCB、焊球、BGA所占长度分别为
- 定义长度比例为:
,满足
三、等效拉伸杨氏模量(串联模型)
在拉伸条件下,不同材料的应变相加,可采用串联模型计算等效杨氏模量:
这个模型假设所有材料串联连接,总拉伸力在各段产生不同变形,故采用应变叠加。
四、等效热膨胀系数(串联模型)
对于热膨胀,同样应用串联模型进行加权:
该表达式认为热变形沿路径方向叠加,与结构变形一致。
五、等效弯曲杨氏模量(层合板理论简化)
弯曲刚度需考虑材料在垂直方向的分布。在不引入完整板壳理论的前提下,可采用简化的分层刚度权重模型近似:
其中为第 i 层的截面惯性矩,若焊球、BGA、PCB各自厚度为
,宽度为 b,则有:
结合厚度,即:
该模型假设各层材料刚度贡献与其立方厚度成正比(因为弯曲刚度 中
为主导项)。
六、几何关系与参数估计
封装尺寸为 L,焊球数目为,则焊球间距为:
沿对角线的材料交替路径长度约为:
设沿该路径有 n 段焊球(可粗略取 ),则路径中焊球、BGA、PCB长度占比为:
- 焊球部分总长
- BGA/PCB部分视焊球间隙等分,总长
,若 BGA 和 PCB 各占一半:
代入前述表达式即可求出各比例。
七、模型输出
最终,模型可输出三个核心参数:
- 等效拉伸杨氏模量
- 等效热膨胀系数
- 等效弯曲杨氏模量
这些结果将用于预测角点处热-力耦合条件下的疲劳失效风险,为后续问题建模提供输入基础。
Python代码:
import numpy as np
import matplotlib.pyplot as plt
# 设置绘图风格
plt.style.use('seaborn-v0_8-darkgrid')
# --------------------------
# 一、材料参数定义(单位:GPa, 1e-6 /°C)
# --------------------------
E1 = 28.6 # PCB的杨氏模量
CTE1 = 17 # PCB的热膨胀系数
E2 = 50 # 焊球(如SnPb焊料)杨氏模量
CTE2 = 25 # 焊球热膨胀系数
E3 = 73.3 # BGA基板杨氏模量
CTE3 = 6.5 # BGA热膨胀系数
# --------------------------
# 二、几何参数定义(单位:mm)
# --------------------------
L = 26 # BGA封装边长
m = 21 # 焊球数量 m x m
d_ball = 0.5 # 每个焊球在对角方向等效长度
h1 = 1.6 # PCB厚度
h2 = 0.8 # 焊球高度
h3 = 1.17 # BGA厚度
# 计算对角线长度
L_diag = np.sqrt(2) * L
# 沿对角方向包含的焊球数和总长度
n_balls = m
l2 = n_balls * d_ball
# 剩余路径长度平分给PCB和BGA
l_remain = L_diag - l2
l1 = l3 = l_remain / 2
# 计算路径中三类材料的比例
alpha1 = l1 / L_diag
alpha2 = l2 / L_diag
alpha3 = l3 / L_diag
# --------------------------
# 三、等效参数计算
# --------------------------
# 等效拉伸杨氏模量(串联)
E_eq_tensile = 1 / (alpha1 / E1 + alpha2 / E2 + alpha3 / E3)
# 等效热膨胀系数(加权平均)
CTE_eq = alpha1 * CTE1 + alpha2 * CTE2 + alpha3 * CTE3
# 等效弯曲杨氏模量(简化层合模型)
I1 = h1 ** 3
I2 = h2 ** 3
I3 = h3 ** 3
E_eq_bending = (E1 * I1 + E2 * I2 + E3 * I3) / (I1 + I2 + I3)
# --------------------------
# 四、结构分层图示(纵向层叠)
# --------------------------
fig, ax = plt.subplots(figsize=(4, 6))
# 层级名称与厚度
layers = ['BGA', 'Solder Balls', 'PCB']
heights = [h3, h2, h1]
colors = ['#2ca02c', '#ff7f0e', '#1f77b4']
# 绘制分层结构
y_start = 0
for layer, height, color in zip(layers, heights, colors):
ax.barh(y=y_start + height / 2, width=40, height=height, left=0,
color=color, edgecolor='black')
ax.text(20, y_start + height / 2, f'{layer}\n({height} mm)',
va='center', ha='center', fontsize=12, color='white', weight='bold')
y_start += height
# 图形参数调整
ax.set_xlim(0, 40)
ax.set_ylim(0, y_start + 1)
ax.set_title('Simplified Cross-Section of BGA Structure', fontsize=14)
ax.axis('off')
plt.tight_layout()
plt.show()
# --------------------------
# 五、输出结果
# --------------------------
print(f"等效拉伸杨氏模量 (E_eq_tensile): {E_eq_tensile:.2f} GPa")
print(f"等效热膨胀系数 (CTE_eq): {CTE_eq:.2f} ×10⁻⁶ /°C")
print(f"等效弯曲杨氏模量 (E_eq_bending): {E_eq_bending:.2f} GPa")
[点击并拖拽以移动]