pymatgen专题

pymatgen:声子热容、熵和自由能实操

从Si真实力常数模型的DOS积分热力学函数,区分每摩尔原胞与每摩尔化学式。

更新于 2026-11-11约 3 分钟阅读按任务与环境选择适用配置
阅读本篇目录

先按Phonopy数据互通准备total_dos.dat。这里计算的是固定谐力常数的振动贡献;没有加入静态电子总能、热膨胀、非谐效应或实验定压条件。晶体稳定性也不能仅从几个正频率点判断。

下载输入、真实参考表与操作脚本。

unzip pymatgen-phonon-wave665-*.zip
cd pymatgen-phonon
bash results.sh
bash plot.sh

reference-data/保存实际计算的数值,figures/reference.png为重绘图;读取和绘图不会启动VASP。若要运行本篇全部后处理,普通账号提交sbatch job.slurm。脚本申请cpu-8173m独占整节点1任务×56核,小例内部单线程,计费仍按整节点;不要在管理节点启动计算。

1. 低频端点先说明#

本例Gaussian展宽使0 THz处仍有0.01385216 states/(THz·原胞)的小密度。谐声子的熵和自由能权重在零频处有对数奇异;不要无说明地把零频代入对数,也不要把展宽尾部误认成扩散模。

本篇明确采用正频率0.01–20 THz作温度积分,原始0点和完整DOS仍保留。正频区积分5.99899479模/原胞,未重新缩放为6。这是有限网格和展宽下的教学处理;低温精确研究应改善低频采样并检查截断与展宽。

from pymatgen.io.phonopy import get_ph_dos
from pymatgen.phonon.dos import PhononDos
raw = get_ph_dos('total_dos.dat')
positive = raw.frequencies > 0
dos = PhononDos(raw.frequencies[positive], raw.densities[positive])
T = 300
print(dos.cv(T))
print(dos.entropy(T))
print(dos.internal_energy(T))
print(dos.helmholtz_free_energy(T))

2. 默认单位是每摩尔原胞#

T / K Cv / J·K⁻¹·mol-cell⁻¹ U / kJ·mol-cell⁻¹ F / kJ·mol-cell⁻¹ S / J·K⁻¹·mol-cell⁻¹
50 6.079744 11.771268 11.641631 2.592734
100 15.813663 12.323336 11.337251 9.860852
300 39.876038 18.398005 6.169937 40.760229
600 46.975492 31.732229 −11.044069 71.293830
1000 48.797110 50.973921 −44.854194 95.828114

U与F包含该谐模型的零点振动贡献,所以低温U并不趋于零。上述函数返回J而不是kJ,表里U和F除以1000展示;F=U−TS保持同一归一化才成立。

3. 两原子原胞和一个Si化学式#

from pymatgen.io.phonopy import get_ph_bs_symm_line
structure = get_ph_bs_symm_line('band.yaml').structure
print('per mole-cell:', dos.cv(300))
print('per mole Si:', dos.cv(300, structure=structure))

本例原胞含2个Si化学式,提供结构后自动除以2;300 K得到19.93801920 J/(K·mol-Si)。若把39.876直接和以mol-Si报告的实验热容比较,会多出一倍。对于化合物,按其约化化学式数处理,不能总是除以原子数。

实际DOS的热容和振动内能/自由能,区分原胞与化学式归一化

4. 高温极限用于核对归一化#

本例额外在10000 K检查形式上的高温极限,Cv=49.86739339 J/(K·mol-cell),接近两原子6R。这个温度只是谐振子积分的数值检查,不是Si仍为稳定晶体的物理预测。

head reference-data/Si-pymatgen-phonon-thermal.csv

自己的材料要同时核对每胞声子模数、频率单位、负频与零模、归一化、采样和适用温度。这里没有用DOS拟合生成新的DFT数据。

需要根据你的体系选择资源?联系讨论计算需求。实际可用软件与权限,以当前账户和运行环境为准。

查看配图

放大后可滚动查看细节,按 Esc 关闭。

100%查看原图 ↗