Phonopy 电子温度自由能实操
从真实Si电子态计算Fermi–Dirac电子自由能,比较k点求和与四面体积分,并说明静态能量参考和电子温度。
阅读本篇目录
unzip phonopy-response-electronic-data-wave244-*.zip -d phonopy-data-practice
cd phonopy-data-practice
在已分配CPU资源内,用普通账号选择一种入口:bash run.sh一次生成全部数值和三张图;或者在一份新的解压目录只运行本篇指定的Python程序。输出目录已存在时另解压,避免覆盖。完整运行每次1个CPU,无需GPU,不提交新DFT,也不会训练一个势模型。
环境为Phonopy4.8.3、Python3.11.16、NumPy2.3.5、GCC13.3 C/OpenMP、phonors0.6.0与symfc1.7.3。包内是实际计算的数值资料和经过选取的结构/响应字段;不包含完整原始VASP输出、势文件或波函数。
1. 算的是什么温度#
本篇把固定结构、固定能谱上的电子占据改成有限温度Fermi–Dirac分布,计算电子自由能、熵、热容和化学势。这里是电子温度,没有运行离子MD,也没有在每个温度重新做电子自洽;本例采用固定能谱近似。
源数据为本集群五个既有Si₂静态计算,体积依次为参考体积96%、98%、100%、102%、104%,VASP6.6.1 GPU、ENCUT550 eV、EDIFF=1E-6、电子9×9×9网格。构建环境为NVHPC25.3、CUDA12.8、HPC-X2.22.1和MKL2023.2。完整静态输入见原生QHA教程和对应资料包。
2. 从自己的完整VASP输出运行#
把五份真实vasprun.xml按相同顺序整理为static/01.xml至static/05.xml,在新的工作目录运行:
module load phonopy/4.8.3
phonopy-vasp-efe --tmax 1000 --tstep 250 static/{01..05}.xml
head -8 fe-v.dat
cat e-v.dat
fe-v.dat每行第一列为温度,后面各列对应输入的五个体积,单位eV/原胞。e-v.dat记录各体积的静态energy(sigma→0)与晶胞体积。
当前版本优先使用线性四面体积分;应检查文件头实际写的是哪一种方法。缺少可对应的网格信息时,工具可能改用k点求和,不能只按默认值推断实际积分方法。本例文件头确实记录linear tetrahedron method。
若明确比较k点求和,在另一新目录运行:
phonopy-vasp-efe --k-point-sum --tmax 1000 --tstep 250 \
static/{01..05}.xml
3. 资料包怎样直接复现#
本包保留的是原生--es导出的电子态数值HDF5,内容为本征值、权重、结构和电子数等,不分发完整原始VASP输出。自己的数据可通过下面的原生命令导出:
phonopy-vasp-efe --es static/{01..05}.xml
ls electronic_states.hdf5
使用本包已有数值,在新解压目录运行:
source /etc/profile
module load phonopy/4.8.3
python electronic.py
head -6 electronic/electronic-thermal.csv
程序用Phonopy电子态API计算两种积分方法,另用独立的电子数求解和熵表达式核对k点求和结果;不会再启动VASP。需要重画全部配图时,在另一份新解压目录执行bash run.sh。
4. 静态能量只加一次#
API的free_energy字段为F_el(T)−F_el(0),不是另一份完整DFT总能。因此与静态能量结合时:
F_total(T) = U_static + [F_el(T) - F_el(0)]
不要把原生CLI中已经包含静态U的fe-v.dat再加一次U。加入声子自由能时,也要让所有项按同一个原胞归一化。
本例100%体积的静态能量约−10.84830721 eV/Si₂原胞。1000 K的电子温度修正为:
| 方法 | ΔF_el/eV | ΔF_el/µeV |
|---|---|---|
| k点求和 | 约−0.00008242 | 约−82.42 |
| 线性四面体 | 约−0.00001590 | 约−15.90 |

这组9³电子网格下,两方法差异明显;图用于展示提取和比较流程,不能据此宣称网格已收敛。Si有带隙,因此这组电子温度修正很小;金属、较高温度或不同能带不能直接套用本例数值。
5. CSV单位和自旋信息#
CSV的deltaF_*为eV/Si₂原胞,S_*、Cv_*为eV/(K·Si₂原胞),mu_*为eV;图为了看清小量,将自由能和熵乘了10⁶,显示µeV与µeV/K。NELECT为每Si₂原胞8个电子。
本例实际输入确认ISPIN=1、LSORBIT和LNONCOLLINEAR为假,因此使用自旋简并2。电子态文件的可选spin_degeneracy字段可能为空;单自旋轴并不总能据此推断为2,SOC/非共线数据应保留其明确的简并信息。
后续定量计算应检查电子k网格、未占据能带数、积分范围和方法,并区分固定能谱近似与有限温度自洽结果。官方电子热性质说明提供接口背景;本篇固定实际运行的4.8.3。