4. 热力学耦合框架
前几节我们分别讨论了浓度梯度驱动的Fick扩散和应力场对原子迁移的影响。但真实材料中的扩散往往同时受到浓度、温度、应力、电场甚至界面能的共同作用。要把这些因素统一到一个可计算、可推导的框架里,最自然的工具就是热力学:用Gibbs自由能描述系统状态,用化学势描述组元的“逃逸倾向”,再把应力功作为附加项写进化学势。本节就沿着这条主线,把扩散驱动力与应力功的耦合关系讲清楚。
一、从Gibbs自由能到化学势
对恒温恒压下的多元开放系统,Gibbs自由能 \(G\) 是温度 \(T\)、压力 \(P\) 和各组元摩尔数 \(n_i\) 的函数。其全微分写作:
dG = -S dT + V dP + Σ μ_i dn_i
其中化学势定义为偏摩尔Gibbs自由能:
μ_i = (∂G/∂n_i)_{T,P,n_j≠i}
化学势的物理含义是:在恒温恒压下,向系统中加入1 mol组元 \(i\) 所引起的自由能变化。它才是扩散的真正驱动力——原子总是从化学势高处向化学势低处迁移,而不是简单地“从浓度高处向浓度低处迁移”。这一点在存在应力梯度或电场时尤为关键。
对理想稀溶液,化学势可写成:
μ_i = μ_i⁰ + RT ln(c_i)
其中 \(μ_i⁰\) 是标准态化学势,\(c_i\) 是浓度。对非理想体系,需用活度 \(a_i = γ_i c_i\) 替代浓度,\(γ_i\) 为活度系数。这一步是后续所有耦合推导的起点。
二、应力对化学势的修正
当固体中存在应力场时,原子所处的力学环境改变,其化学势必须加上应力做功项。考虑一个原子从无应力参考态迁移到局部应力状态,外界对系统做的功会改变该原子的自由能。对静水压力 \(P\) 情形,修正项为 \(Ω P\),其中 \(Ω\) 是原子或摩尔体积。更一般地,对任意应力张量 \(σ_{ij}\),化学势修正可写为:
Δμ_i^stress = -Ω_i σ_h
这里 \(σ_h = (σ_xx + σ_yy + σ_zz)/3\) 是静水应力分量(拉为正)。若采用“拉应力为正”的约定,则拉应力降低化学势,压应力升高化学势。这意味着:在拉应力区,原子更“愿意”停留或迁入;在压应力区,原子倾向于迁出。这正是应力诱导扩散(stress migration)和Gorsky效应的热力学根源。
对非静水应力状态,更严格的表达需要引入应力张量与原子体积张量的缩并。若把原子视为各向同性弹性体,则只有静水分量进入一阶修正;若考虑缺陷或界面各向异性,则需用 \(σ_{ij} Ω_{ij}\) 形式。工程计算中,多数金属薄膜和焊点扩散问题采用静水应力近似已足够。
三、扩散驱动力与应力功的耦合表达
把浓度项和应力项合并,总化学势为:
μ_i = μ_i⁰ + RT ln(c_i) - Ω_i σ_h
扩散通量 \(J_i\) 正比于化学势梯度,而非浓度梯度:
J_i = - (D_i c_i / RT) ∇μ_i
将 \(μ_i\) 代入并展开梯度:
J_i = -D_i ∇c_i + (D_i c_i Ω_i / RT) ∇σ_h
第一项是熟悉的Fick扩散项,第二项就是应力梯度驱动的附加通量。注意符号:若 \(∇σ_h\) 指向拉应力增大方向,则第二项为正,原子向拉应力区富集。这个表达式把“浓度扩散”和“应力迁移”统一在同一个通量方程里,是热力学耦合框架最实用的结果。
若同时存在电场,还需在化学势中加入 \(z_i F φ\) 项;若存在温度梯度,则加入热迁移项。本节聚焦应力耦合,其余项可类比叠加。
四、耦合框架的工程用法
在实际工程分析中,这个框架通常按以下方式落地。以铜互连薄膜中的应力迁移为例:假设薄膜受到来自钝化层的约束,在通孔附近形成拉应力集中区,\(σ_h\) 约为 +200 MPa;原子体积 \(Ω\) 取 \(1.18×10^{-5}\) m³/mol;温度 \(T=400\) K。则应力项对化学势的修正为:
Δμ_stress = -Ω σ_h = -(1.18e-5 m³/mol)(200e6 Pa)
= -2360 J/mol
与 \(RT = 8.314×400 ≈ 3326\) J/mol 相比,这一修正相当于约0.71个 \(RT\) 单位,足以显著改变局部平衡浓度。若拉应力区与压应力区之间 \(σ_h\) 差为400 MPa,则化学势差约4720 J/mol,对应平衡浓度比约为 \(exp(4720/3326) ≈ 4.1\)。也就是说,仅应力梯度就能在局部造成数倍的浓度富集,这正是应力迁移导致空洞和挤出失效的热力学原因。
要完成一次完整的耦合计算,通常需要以下输入与步骤:
- 确定参考态与符号约定:明确拉应力为正、原子体积为正,全文统一。
- 获取应力场:通过有限元或解析解得到 \(σ_h(x,y,z)\) 分布。
- 计算化学势场:\(μ_i(x) = μ_i^0 + RT\ln c_i(x) - Ω_i σ_h(x)\)。
- 求通量:\(J_i = -(D_i c_i/RT) ∇μ_i\),注意 \(D_i\) 本身可能随应力变化,一阶近似可忽略。
- 耦合质量守恒:\(∂c_i/∂t = -∇·J_i\),数值求解浓度演化。
- 判断结果:观察拉应力区是否出现浓度峰、压应力区是否出现耗尽,并与失效位置对照。