2. 纯组元Gibbs能函数拟合与热力学数据一致性检查
纯组元 Gibbs 能函数的 CALPHAD 表达
在 CALPHAD 框架中,纯组元 i 在某一相 φ 下的 Gibbs 能通常写成温度多项式形式:
G_i^φ(T) = a + b·T + c·T·ln(T) + d·T² + e·T³ + f/T + …
其中 a 对应 298.15 K 参考焓项,b 与 c 共同决定熵贡献,d、e、f 用于描述热容随温度的非线性变化。实际数据库(如 SGTE 纯组元数据)常把 G 拆成参考项 G_ref 与磁性项 G_mag,但本例只处理无磁性贡献的简单纯组元,重点放在“用热容、熵、焓数据反推多项式系数”这一核心任务上。
从实验数据到多项式系数
假设某纯组元在 298.15 K 到 1500 K 区间内已有以下教学示例数据(均为假设值,用于演示拟合流程):
| 温度 T / K | Cp / (J·mol⁻¹·K⁻¹) | S / (J·mol⁻¹·K⁻¹) | H−H₂₉₈ / (J·mol⁻¹) |
|---|---|---|---|
| 298.15 | 25.0 | 30.0 | 0 |
| 400 | 26.5 | 37.8 | 2 650 |
| 600 | 28.8 | 49.5 | 8 200 |
| 800 | 30.5 | 58.2 | 14 150 |
| 1000 | 32.0 | 65.3 | 20 400 |
| 1200 | 33.2 | 71.4 | 26 950 |
| 1500 | 34.8 | 79.0 | 37 100 |
拟合策略不是直接对 G 做最小二乘,而是先由 Cp 数据确定热容多项式,再通过积分关系得到 S(T) 和 H(T),最后组合成 G(T)。这样能保证热力学量之间的一致性。
步骤 1:拟合 Cp(T)
采用 Cp(T) = A + B·T + C·T⁻² 形式,对表中 7 个数据点做线性最小二乘。教学示例中可得到:
A ≈ 22.85 J·mol⁻¹·K⁻¹
B ≈ 8.10×10⁻³ J·mol⁻¹·K⁻²
C ≈ 1.95×10⁵ J·K·mol⁻¹
该形式在 298–1500 K 范围内能较好复现 Cp 的缓慢上升趋势。
步骤 2:积分得到 S(T) 与 H(T)
S(T) = S₂₉₈ + ∫₂₉₈ᵀ (Cp/T) dT
H(T) − H₂₉₈ = ∫₂₉₈ᵀ Cp dT
代入 Cp 多项式后,解析积分得到:
S(T) = S₂₉₈ + A·ln(T/298.15) + B·(T−298.15) − (C/2)·(1/T² − 1/298.15²)
H(T) − H₂₉₈ = A·(T−298.15) + (B/2)·(T²−298.15²) − C·(1/T − 1/298.15)
用表中 S₂₉₈ = 30.0 J·mol⁻¹·K⁻¹ 和 H₂₉₈ = 0 作为积分常数,即可计算任意温度下的 S 和 H。
步骤 3:构造 G(T) 并转换为 CALPHAD 多项式
G(T) = H(T) − T·S(T)
将 H 和 S 的表达式代入并整理,可得到形如 G(T) = a + b·T + c·T·ln(T) + d·T² + e·T³ + f/T 的系数。教学示例中拟合结果为:
a ≈ −7 850 J·mol⁻¹
b ≈ 118.6 J·mol⁻¹·K⁻¹
c ≈ −22.85 J·mol⁻¹·K⁻¹
d ≈ −4.05×10⁻³ J·mol⁻¹·K⁻²
e ≈ 0(本例未引入 T³ 项)
f ≈ −1.95×10⁵ J·K·mol⁻¹
一致性检查:标准态与相变温度
拟合完成后,必须检查以下三类一致性:
- 标准态一致性:在 298.15 K 下,由 G 函数反算的 S 和 H 应与实验参考值一致。本例中
S(298.15) = 30.0、H(298.15) = 0,与输入一致。 - 相变温度一致性:若该纯组元在 1000 K 附近存在固-固相变,则两相 G 函数在相变温度处应相等,且熵差与焓差满足
ΔG = 0、ΔS = ΔH/T。本例假设无相变,但检查方法相同。 - 数据库参数一致性:将拟合得到的
a–f与数据库已有参数逐项对比,若偏差超过设定阈值(如 5%),需检查数据来源或拟合权重。
一致性检查不是“拟合完再看一眼”,而是拟合流程的一部分。建议在拟合 Cp 后立即用 S 和 H 数据做交叉验证,避免把误差累积到 G 函数中。
可复现的检查清单
| 检查项 | 判据 | 本例结果 |
|---|---|---|
| 298.15 K 熵复验 | |S_fit − S_exp| ≤ 0.5 J·mol⁻¹·K⁻¹ | 0.0(一致) |
| 298.15 K 焓复验 | |H_fit − H_exp| ≤ 50 J·mol⁻¹ | 0(一致) |
| 相变温度处 ΔG | |ΔG| ≤ 10 J·mol⁻¹ | 本例无相变,不适用 |
| 数据库系数偏差 | 每项 |Δ|/|ref| ≤ 5% | 需与目标数据库逐项核对 |
| Cp 拟合残差 | R² ≥ 0.995 | 教学示例中 R² ≈ 0.998 |
若 Cp 拟合的 R² 低于 0.99,或 298.15 K 处 S、H 复验偏差超过阈值,不应继续用该组系数构造 G 函数。此时应优先检查数据点是否覆盖了相变区间,或考虑增加 T³ 项、分段拟合。
常见问题与处理
- 积分常数符号错误:S 和 H 的积分下限是 298.15 K,不是 0 K。若误用 0 K 作下限,会导致 S 和 H 整体偏移。
- Cp 多项式外推失效:A + B·T + C·T⁻² 在远高于 1500 K 时可能偏离真实 Cp,需在数据库中标注适用温度范围。
- 与数据库参考态不一致:不同数据库可能采用不同的参考态(如 SER 态),对比系数前必须确认参考态相同。