第二章 动力学基础:反应速率方程、Arrhenius公式、转化率与温度的关系
做TGA动力学分析,说白了就是搞清楚一件事:样品在升温过程中,到底是怎么分解的? 快还是慢?什么时候开始?什么时候结束?
我刚开始接触这行的时候,总觉得动力学参数离我很远。直到有一次,我需要预测一种高分子材料在150℃下的使用寿命。没有动力学参数,你根本算不出来。嗯,从那以后,我就老老实实把基础啃透了。
这一章,我们就来聊聊动力学分析的三块基石:反应速率方程、Arrhenius公式、以及转化率与温度的关系。
2.1 反应速率方程:分解的“速度”怎么描述?
先问一个问题:一个样品在分解,它的“速度”到底指什么?
不是失重速率本身,而是转化率随时间的变化率。我们管它叫 dα/dt。
转化率 α 的定义很简单:
α = (m₀ - m) / (m₀ - m∞)
- m₀:初始质量
- m:当前时刻的质量
- m∞:最终残余质量
α 从 0 到 1,代表分解从开始到结束。
那么反应速率方程长什么样?
dα/dt = k(T) · f(α)
这里有两个部分:
- k(T):速率常数,只跟温度有关。温度越高,k 越大。
- f(α):反应机理函数,描述分解的“模式”。比如是一步到位,还是先成核再长大。
重要理解: 反应速率方程把“温度效应”和“反应机理”分开了。这是动力学分析的核心思想。
常见的 f(α) 形式有:
| 反应模型 | f(α) | 适用场景举例 |
|---|---|---|
| 一级反应 (F1) | 1 - α | 大多数高分子热分解 |
| 二级反应 (F2) | (1 - α)² | 双分子反应 |
| 扩散控制 (D1) | 1/(2α) | 固体分解、传质受限 |
| 成核生长 (A2) | 2(1-α)[-ln(1-α)]^(1/2) | 结晶、相变过程 |
我个人习惯,拿到一条TG曲线后,先不急着拟合。我会先看看曲线形状——是陡峭下降还是平缓过渡?这能帮你初步判断反应模型。
2.2 Arrhenius公式:温度如何“加速”分解?
你想想看,温度升高10℃,反应速率能翻倍。这是为什么?
Arrhenius公式给出了答案:
k = A · exp(-Ea / (R · T))
参数含义:
- A:指前因子(频率因子),单位与 k 相同。可以理解为分子碰撞的频率。
- Ea:活化能(kJ/mol)。这是分解需要跨越的“能量门槛”。
- R:气体常数,8.314 J/(mol·K)。
- T:绝对温度(K)。
我的经验: 活化能 Ea 是动力学参数里最“敏感”的一个。Ea 差 10 kJ/mol,预测的寿命可能差一个数量级。所以拟合时要格外小心。
把 Arrhenius 公式代入反应速率方程,得到完整形式:
dα/dt = A · exp(-Ea / RT) · f(α)
这就是我们做 TGA 动力学分析的基本方程。所有后续的方法——Kissinger、Flynn-Wall-Ozawa、Friedman——都是从这个方程出发的。
2.3 转化率与温度的关系:从TG曲线到α(T)
实验做完,你得到的是 TG 曲线——质量随温度(或时间)的变化。我们需要把它转换成 α(T) 曲线。
转换公式刚才已经给了:
α(T) = (m₀ - m(T)) / (m₀ - m∞)
举个例子:
| 温度 (℃) | 质量 (mg) | α |
|---|---|---|
| 100 | 10.00 | 0.00 |
| 200 | 9.50 | 0.10 |
| 300 | 7.00 | 0.60 |
| 400 | 4.00 | 1.00 |
有了 α(T) 曲线,我们就可以求导得到 dα/dt,然后结合 Arrhenius 公式去拟合 Ea 和 A。
注意: 我曾经犯过一个错误——直接用质量对温度求导,忘了先算转化率。结果拟合出来的活化能完全不对。记住,动力学分析的对象是 α,不是质量本身。
2.4 升温速率的影响:为什么非等温法更复杂?
等温实验很简单——温度固定,看 α 随时间变化。但 TGA 常用的是非等温法,也就是线性升温:
T = T₀ + β · t
其中 β 是升温速率(℃/min)。
这时候,dα/dt 和 dα/dT 之间有个简单关系:
dα/dt = β · dα/dT
代入基本方程:
β · dα/dT = A · exp(-Ea / RT) · f(α)
整理一下:
dα/dT = (A/β) · exp(-Ea / RT) · f(α)
这个形式在后续的积分法(如 FWO、KAS)中非常常用。
关键点: 升温速率 β 越大,TG 曲线会向高温方向偏移。这不是样品变了,是动力学效应。所以做多升温速率分析时,β 的选择很重要。我一般用 5、10、15、20 ℃/min 四组。
2.5 一个小例子:用Python算活化能(示意)
这里给一个极简的代码片段,展示如何从 α(T) 数据估算 Ea。实际分析会更复杂,但核心逻辑就是这样。
import numpy as np
# 模拟数据:α 随温度变化
T = np.array([500, 520, 540, 560, 580]) # K
alpha = np.array([0.1, 0.3, 0.5, 0.7, 0.9])
# 假设是一级反应 f(α) = 1 - α
# 对 Arrhenius 公式取对数:
# ln(dα/dt) = ln(A) - Ea/(RT) + ln(1-α)
# 简化处理:用 dα/dT 近似
dalpha_dT = np.gradient(alpha, T)
beta = 10 # 假设升温速率 10 K/min
dalpha_dt = beta * dalpha_dT
# 线性拟合
y = np.log(dalpha_dt / (1 - alpha))
x = -1 / (8.314 * T)
# 斜率 = Ea, 截距 = ln(A)
coeffs = np.polyfit(x, y, 1)
Ea = coeffs[0] # 单位 J/mol
print(f"估算活化能: {Ea/1000:.1f} kJ/mol")
提示: 实际项目中,我不会直接用这种简单方法。我会用 Kissinger 法或 FWO 法做交叉验证。但理解这个基础逻辑,是看懂更复杂方法的前提。
2.6 本章小结
这一章我们聊了三件事:
- 反应速率方程:dα/dt = k(T)·f(α),把温度和机理分开。
- Arrhenius公式:k = A·exp(-Ea/RT),解释了温度如何影响速率。
- 转化率与温度的关系:从TG曲线得到 α(T),是动力学分析的起点。
说白了,动力学分析就是从实验数据中反推 Ea 和 A。后面的章节,我们会一步步教你具体怎么做。
嗯,基础打牢了,后面就不慌了。
公众号:蓝海资料掘金营,微信deep3321