TDEP非谐自由能实操
用同温度MD能量与力常数计算自由能,核对一阶、二阶累积量,说明短采样与量子选项的适用范围。
阅读本篇目录
本专题用鸢算科技集群实际完成的Si多温度DFT数据,演示TDEP输入准备、二至四阶力常数拟合、声子、自由能和热导。版本为TDEP 25.03,固定提交d38f435,采用ifx/icx 2024.2.1、Intel MPI 2021.13、顺序MKL、FFTW 3.3.11和HDF5 1.14.6;使用 tdep/25.03-8173m CPU模块。前置DFT使用VASP 6.6.1 GPU/HDF5构建,NVHPC 25.3、CUDA 12.8,分别在P100和V100 16G上运行。
下载实际输入、数值、8张图与操作脚本,保存为 tdep-silicon.zip:
python3 -m zipfile -e tdep-silicon.zip .
cd tdep-silicon-practical-wave285
bash preview.sh
ls preview/figures
预览只读 reference/数值,不启动DFT。需要从随包自有数值输入运行原生拟合及后处理时,用下面三个短命令;这也不重跑VASP:
bash prepare.sh
bash calculate.sh
bash extract.sh
原生结果在 work/,提取表格在 results/data/。本包为小型单进程CPU示例;正式大拟合和热导请用Slurm分配CPU资源。VASP程序、POTCAR和原始全文电子输出不随包分发。
1 自由能需要能量与采样,不只需要一份二阶力常数#
本页使用模型A:300 K纯MD的30个选定帧、二阶5 Å和三阶4.2 Å。它与用来比较300/600 K声子的混合构型模型B不同。不要把混合静态构型的时间列当作MD采样时间,也不要把不同温度的能量记录直接混在一起。
先准备同一个目录中的原胞、超胞、positions、forces、stat、meta,以及二阶和三阶力常数:
cd work/post300/quantum-free-energy-q6
ls infile.*
cat infile.meta
本例meta标明64原子、30构型、选帧间隔1 fs、300 K。stat中势能为同一DFT设置下的电子自由能,物理总能为势能加原子动能;不包含Nosé虚拟能量。
2 运行并查看结果#
module load tdep/25.03-8173m
anharmonic_free_energy --quantum --thirdorder -qg 6 6 6
cat outfile.anharmonic_free_energy
在新目录将q网格改为4³,保持数据和力常数一致,便可比较积分网格影响。这里 --quantum控制原生声子热力学部分的量子处理,不会把这条经典核MD轨迹变成量子核采样;--thirdorder使用已有的三阶力常数,不是重新跑DFT。
| 6³网格、300 K | 一阶累积量结果 / eV atom⁻¹ | 加二阶累积量 / eV atom⁻¹ |
|---|---|---|
| 二阶模型残差 | −5.2823509774 | −5.2822749920 |
| 含三阶模型残差 | −5.2822696772 | −5.2822012431 |

图左给出相对于同一基线的meV/原子差,完整绝对数值保留在CSV。只计算4³和6³不能说明积分已完全收敛;40 fs也不足以说明MD均值和方差已经收敛。
3 独立核对能量与方差#
下载包按同一周期映射重建二阶、三阶力及相应势能,分别检查实际DFT势能与模型的残差均值、方差,而不只读取最后一行。
cd ../../..
cat results/SCIENTIFIC-VALIDATION.json
cat reference/anharmonic-free-energy.csv
本版本在当前MD处理分支的二阶累积量采用原生正号,--stochastic分支的表达式不同。不要拿另一种采样条件的公式、不加区分地给此处结果手动换号。若要研究严格热力学精度,应先确定采样分布与所用估计量,再延长采样并比较高阶项。官方自由能介绍可用来理解各项,具体命令仍以25.03模块帮助为准。
4 同一力常数还能看谱函数#
cd work/post300/lineshape-q6
lineshape --temperature 300 -ne 201 --qpoint .25 0 0 -qg 6 6 6 --unit thz
ls outfile.phonon_self_energy.hdf5
右图为q=(0.25,0,0)、201个频率采样点的实际模式谱函数之和,没有人工补峰或平滑。本页只使用已核对的频率与谱权重字段,不根据该文件中容易混淆的寿命单位标签直接报告寿命;寿命与平均自由程可从下一篇已明确单位的热导网格字段读取。