VASP热位移与带隙温度变化
用硅的量子谐振位移采样,比较静态、0 K、300 K与600 K的网格带隙。
阅读本篇目录
想知道温度怎样影响带隙,可以先固定晶胞,只考虑原子振动带来的变化。本例沿用硅实算声子力常数,生成热位移结构,再逐个运行VASP;最后比较各温度下的带隙平均值。
1. 先有声子,再生成位移#
先参考VASP晶体声子教程得到力常数。附件提供该例的力常数YAML和两个原始有限位移输入,便于重算与追溯。这里使用2×2×2原胞构成的16原子Si超胞。
Phonopy按量子谐振子的位移分布采样。0 K仍包含零点运动,所以0 K采样结构与完全静止的晶格不同。原子位移不是随意加上某个固定噪声,也不是分子动力学轨迹。Phonopy热位移说明
本例在0、300、600 K分别取4个独立样本,每个样本再计算正、负两种位移,共24个快照,加1个静态参考。随机种子20261025;各温度使用相同随机数以方便配对比较。低于0.1 THz的模式不参与采样,去除整体平移;这些设置不代表所有材料都适用。
2. 快照只做电子自洽,不重新优化#
各目录已准备结构和输入。按照POSCAR元素顺序准备有权使用的Si POTCAR,再执行:
sbatch run.sh
统一采用PBE PAW64、ENCUT=550 eV、EDIFF=1E-6、4×4×4 Gamma网格、48条带,NSW=0、ISYM=0。保持每个热位移结构,不进行原子或晶胞优化;否则会消除需要研究的位移。
本例固定体积,未加入热膨胀。晶胞和声子输入来自既有结构参考;快照上的瞬时力不是结构优化的停止条件。
3. 全部完成后提取自己的结果#
回到附件根目录:
module load ase/3.29.0
python extract_thermal_gap.py
脚本从每个vasprun.xml读取当前网格的最高价带和最低导带,求带隙;先对每组正负位移取平均,再统计4个独立配对样本。不要把同一对正负位移当作两个独立样本缩小误差棒。
4. 本例实际得到什么#
静态16原子参考的网格带隙为 0.65020 eV。
| 温度 / K | 原子位移RMS / Å | 平均网格带隙 / eV | 相对静态变化 / meV | 四个配对样本的均值标准误差 / meV |
|---|---|---|---|---|
| 0 | 0.0850 | 0.37021 | -279.99 | 59.50 |
| 300 | 0.1373 | 0.33404 | -316.16 | 63.91 |
| 600 | 0.1889 | 0.23526 | -414.94 | 64.38 |

误差棒只反映本次有限样本的波动,不包含超胞、k点、泛函和谐近似的系统误差。四个独立配对样本适合展示操作流程,不能据此声称统计收敛;完整逐快照结果保存在JSON中。
5. 怎样理解零点和温度修正#
0 K采样平均值减静态值,是本例有限超胞、谐振位移采样下的带隙变化估计。有限温度平均值减0 K采样平均值,反映同一固定体积下进一步增大的振动效应。这里没有实施完整AHC微扰计算,也没有得到电子自能或谱线宽度。
快照带隙取每个构型的极值,简并分裂、超胞折叠和网格变化都会影响它;它不等同于跟踪固定原胞带边得到的所有重整化定义。用于定量研究时,应增加样本、超胞和k网格,核对所跟踪的带边,并分别考虑热膨胀与电子–声子贡献。
VASP采用集群vasp/6.6.1-p100(NVHPC25.3、CUDA12.8及配套MPI),Phonopy4.8.3生成位移,计算均经Slurm。