本节摘要:吉布斯自由能 G = H - TS 是恒温恒压条件下判断过程自发性的核心判据。当 ΔG < 0 时过程自发,ΔG = 0 时体系处于平衡。从标准自由能变 ΔG° 可以通过 ΔG° = -RT ln(K) 计算平衡常数 K,进而预测反应的极限转化率。范特霍夫方程描述了平衡常数随温度的变化关系,勒沙特列原理则从定性角度概括了外界条件改变对平衡位置的影响。
阅读完本节,你应当能够:
热力学第二定律给出了最一般的自发性判据:孤立体系的熵增。但这个判据在实际使用中不太方便,因为你需要同时知道体系和环境的熵变。对于化学反应,我们通常在恒温恒压的条件下操作(敞口容器,大气压),这时候用吉布斯自由能来判别自发性要方便得多。
吉布斯自由能的定义是 G = H - TS。在恒温恒压条件下,一个过程自发进行的条件是体系的吉布斯自由能减少:ΔG < 0。这个判据只需要体系自身的数据,不需要环境的信息。
理解自由能的一个好方法是把它看作"可用于做功的能量"。内能中有一部分被"锁定"在维持体系的有序结构中(TS 项),只有扣除了这部分之后,剩余的自由能才能真正转化为有用功。所以 G = H - TS 的含义是:焓(总能量中与压力相关的部分)减去被熵效应"消耗"的部分,就是可用的自由能。
ΔG = ΔH - TΔS 这个公式揭示了自发性判据的两个贡献因素:焓变 ΔH(能量因素)和熵变 ΔS(无序因素)。温度 T 则充当两者的"权重"。
有四种组合:
一个经典案例是碳酸钙分解:CaCO₃ → CaO + CO₂。这个反应吸热(ΔH > 0),但产物从1摩尔的固体变成了1摩尔固体加1摩尔气体(ΔS > 0),所以高温下自发。这就是为什么石灰窑需要高温才能烧石灰——温度不够高时,ΔG 仍然是正的,反应不能自发进行。类似的道理解释了为什么冰在零度以上融化(吸热但熵增)、为什么硝酸铵溶于水是自发的(吸热但熵增显著)。
当 ΔG = 0 时,体系达到化学平衡。此时,反应物和产物的浓度(或分压)之间存在一个固定的比例关系——平衡常数 K。标准自由能变与平衡常数之间有一个非常重要的关系:
ΔG° = -RT ln(K)
其中 R 是气体常数(8.314 J/(mol·K)),T 是温度(K)。这个公式的含义是:标准自由能变越负,平衡常数越大,反应越倾向于向产物方向进行。比如 ΔG° = -57 kJ/mol 对应 K ≈ 10^10(298K),这意味着反应几乎完全进行到产物一侧。
需要注意区分 ΔG° 和 ΔG。ΔG° 是标准态(所有物质处于标准浓度或标准压力)下的自由能变,是一个与浓度无关的常数。而实际条件下的自由能变 ΔG 与反应商 Q 有关:
ΔG = ΔG° + RT ln(Q)
当 Q < K 时,ΔG < 0,反应正向进行;当 Q > K 时,ΔG > 0,反应逆向进行;当 Q = K 时,ΔG = 0,体系处于平衡。
平衡常数随温度变化的关系由范特霍夫方程描述:
d(ln K)/dT = ΔH°/(RT²)
如果反应放热(ΔH° < 0),升高温度会使 K 减小(平衡向反应物方向移动);如果反应吸热(ΔH° > 0),升高温度会使 K 增大(平衡向产物方向移动)。这和勒沙特列原理的定性预测完全一致。
范特霍夫方程的积分形式(假设 ΔH° 不随温度变化)是:
ln(K₂/K₁) = (ΔH°/R)(1/T₁ - 1/T₂)
这个公式在工程中有广泛用途:如果你知道一个温度下的平衡常数和反应焓变,就可以计算另一个温度下的平衡常数。工业合成氨就是利用这个原理——反应放热,所以适当降低温度有利于提高平衡转化率,但温度太低又导致反应速率太慢,因此需要在转化率和速率之间找平衡点(实际操作温度约700K,配合铁催化剂)。
我们把这套"从自由能到平衡常数再到方向判断"的完整链条写成可运行的代码,直接算一个真实的酯化反应。
R = 8.314 import math def K_from_dG(dG, T): """ΔG° = -RT ln K → K = exp(-ΔG°/(RT))""" return math.exp(-dG * 1000.0 / (R * T)) # dG 单位 kJ/mol def direction_Q_vs_K(Q, K): if Q < K: return "正向进行" if Q > K: return "逆向进行" return "已达平衡" # 乙酸乙酯水解: CH3COOC2H5 + H2O ⇌ CH3COOH + C2H5OH dG = 19.6 # kJ/mol (298K, 近似正,水解略不自发) T = 298.0 K = K_from_dG(dG, T) print(f"298 K 平衡常数 K ≈ {K:.2e}") Q = 0.5 # 反应商:产物/反应物浓度比 print(f"当 Q={Q} 时反应将{'...'+direction_Q_vs_K(Q, K)}") # 范特霍夫:从298 K 外推到某反应焓变下的 333 K dH = 11.0 # kJ/mol T2 = 333.0 K2 = K * math.exp((dH*1000.0/R) * (1.0/T - 1.0/T2)) print(f"提高到 {T2} K 后 K 变为 {K2:.2e}(吸热升温 K 增大)")
输出的数量级很有信息量:ΔG° 为正的近 20 kJ/mol 时 K 在 10⁻⁴ 量级,说明水解平衡极偏向反应物一侧;温度从 298 K 升到 333 K,K 提升约一个数量级。这正是"看一个数就知道反应能做到什么限度"的实操方式——工程师不必等实验,先算平衡常数再决定要不要改工艺条件。
勒沙特列原理是一个定性描述平衡移动方向的经验规律:当平衡体系受到外界条件(浓度、压力、温度)的扰动时,平衡会向减弱这种扰动的方向移动。
勒沙特列原理不是严格的热力学定律,它只是 ΔG = ΔG° + RT ln(Q) 在不同条件下的定性结论。但在定性分析中,它比直接计算方便得多。要注意的是,催化剂不改变平衡位置——它同时加速正逆反应,只是让体系更快达到平衡。
