GPUMD专题

GPUMD:准备电子温度与自由能标签

用真实VASP铝晶胞计算准备温度NEP数据,展示完整输入、能量定义、力差分与k点对照。

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

温度依赖NEP需要的不只是给普通数据文件加一个温度数字,还需要对应电子温度下计算得到的自由能与力。本例以15个不同的4原子fcc-Al小晶胞为例,先准备真实标签,再在下一篇训练model_type 3。

1. 下载并查看实际数据#

下载电子温度、完整输入、实际标签、训练模型与绘图脚本,保存为gpumd-electronic-temperature-wave216.zip。

unzip gpumd-electronic-temperature-wave216.zip -d al-temperature
cd al-temperature
bash view.sh
ls figures

这一步读取随包真实参考结果、重新输出CSV和图片,不重新做DFT或训练。生成过analysis/figures后,请在另一个新解压目录重复操作,避免混用数据。

软件采用VASP6.5.1的NVHPC25.3 GPU构建;GPUMD5.9.1使用GCC13.3、CUDA12.9.86,P100与V10016G分别用对应模块。后处理使用ASE3.29.0。本例电子结构与模型任务均为单进程、单GPU运行,不是多卡加速性能测试。

2. 电子温度与离子温度先分清#

这里的温度Te决定电子能级的Fermi–Dirac占据,所有离子坐标固定,不是把晶体加热后截取MD轨迹。每个几何分别计算1000、2000、3000、4000、6000 K电子温度,共75次单点;另有3次5000 K、6次位移差分和3次k网格对照,总计87次真实电子结构计算。

输入采用ISMEAR=-1,并取SIGMA=kB×Te,其中kB约为8.617333262145×10⁻⁵ eV/K。例如1000 K对应0.086173332621 eV。ISMEAR=0的高斯展宽不能直接照此解释为电子温度;方法及单位见VASP ISMEAR和SIGMA。

3. 完整输入长什么样#

g00-T1000/INCAR:

SYSTEM = Al electronic temperature free energy
PREC = Accurate
ENCUT = 350
EDIFF = 1E-6
ISMEAR = -1
SIGMA = 0.086173332621
ISPIN = 1
NBANDS = 32
ALGO = Normal
NELM = 100
NELMIN = 4
ISTART = 0
ICHARG = 2
NSW = 0
IBRION = -1
ISIF = 2
ISYM = 0
LREAL = .FALSE.
LASPH = .TRUE.
ADDGRID = .TRUE.
LWAVE = .FALSE.
LCHARG = .FALSE.
NCORE = 1
KPAR = 1

EDIFF=1E-6控制电子收敛;NSW=0保持结构不动。32条能带用于容纳热占据,本例还逐算例检查最高能带占据。改变材料、温度或电子数后,应重新检查NBANDS是否足够,不能只复制同一个数。

完整POSCAR:

Al fixed geometry electronic temperature tutorial
1.0
4.10906367548885 -0.00319994099333 0.00000000000000
0.00000000000000 4.09025705356554 0.00075041108036
0.00858109929597 0.00000000000000 4.10435817199494
Al
4
Cartesian
-0.01728020178735 -0.01013409169504 -0.01423715351441
-0.01775996601110 2.07386677357382 2.05963558787312
2.04292460823806 -0.02450212420225 2.08015148199355
2.03575036608170 2.02768868594910 0.01998648407883

完整KPOINTS:

Gamma grid for finite-electronic-temperature tutorial
0
Gamma
6 6 6
0 0 0

PAW数据为version64 PBE Al。程序与POTCAR不随资料包分发,运行脚本从集群对应已部署位置读取;本例的坐标、参数与已提取性质完整提供。

4. 如果想自己从头计算#

在新解压目录运行:

python3 prepare_dft.py
cd batches/p100-0
sbatch job.slurm
squeue -u "$USER"

准备脚本生成87组输入,并分成8个P100批次和8个V10016G批次。每个批次申请一张卡,依次计算5–6个不同算例;不会在同一张卡上同时堆叠这些任务。可以先运行一个批次熟悉过程,再在其他批次目录同样提交。若只想学习训练,直接使用随包已有真实标签即可。

16个批次全部结束后,回到包根目录:

cd ../..
module load ase/3.29.0
python3 parse_dft.py
head data/electronic-free-energy.csv

解析程序检查电子收敛、输入一致性、最高能带占据、几何保持情况,并提取自由能、力和应力。原始输入保留14位小数;VASP XML几何只有8位小数,位置比较按输出精度处理,并不会拿舍入后的坐标替换训练坐标。

5. 为什么不能混用F、U和E0#

真实电子温度数据、温度模型及不同能量定义

VASP给出电子自由能F、去掉熵项后的内能U和零展宽外推E0。本例标签取电子自由能TOTEN;固定Te的力与该自由能梯度一致,不应换成E0后仍搭配原来的力,见VASP展宽方法说明。

以独立几何g06为例,下面都是4原子整晶胞的实际数值:

Te,K F,eV U,eV 外推E0,eV
1000 -15.03470020 -15.00172477 -15.01821249
5000 -15.46191666 -14.49408012 -14.97799839
6000 -15.67775071 -14.25021787 -14.96398429

同一几何只改变电子占据,F会随电子熵项变化。这里没有包含完整的离子振动和构型熵,不能把这张表直接作为材料完整有限温度相稳定自由能。

6. 用位移和更密k点核对#

在g00/1000 K、g07/3000 K、g14/6000 K上,固定Te,沿原子0的x方向位移±0.01 Å。由F差分得到的力与VASP力的最大差约2.79×10⁻⁵ eV/Å;这检查了能量定义和力的配套关系,没有改用外推E0。

实际晶胞周期像、力箭头和k网格对照

左图将真实4原子晶胞做2×2平面周期像显示,仍是4原子计算,箭头按实际DFT力放大4倍作示意。右图比较三个代表条件的6与8网格,自由能差分别约17.76、12.89和4.12 meV/atom。

因此,本例后续模型拟合的是6网格计算层级,没有把这些数据称为k点收敛材料结果。正式应用应先把DFT精度收敛到目标要求,再制作训练集;模型拟合误差小于DFT参数变化,并不代表DFT本身已经准确。

7. 将数据交给NEP#

15个父几何在计算标签前按9/3/3划分,所有温度都跟随同一父几何,避免把同一结构在另一温度下的样本放进独立几何测试。得到45训练、15验证和15测试帧,独立测试只有3个父几何;额外5000 K在这3个测试几何上计算,另作温度插值测试。

python3 prepare_models.py
head -n 6 cases/temperature-p100-s13579/training.xyz

首个实际训练帧为:

4
Lattice="4.1090636754889 -0.0031999409933271 0 0 4.0902570535655 0.00075041108036015 0.008581099295974 0 4.1043581719949" Properties=species:S:1:pos:R:3:force:R:3 energy=-15.05164487 temperature=1000 parent=g00
Al -0.017280201787355 -0.010134091695042 -0.014237153514414 0.00299387 0.09157012 0.12078781
Al -0.017759966011104 2.0738667735738 2.0596355878731 0.01726296 -0.17773126 -0.04154391
Al 2.0429246082381 -0.024502124202248 2.0801514819935 -0.01376735 0.12946723 -0.10117455
Al 2.0357503660817 2.0276886859491 0.019986484078835 -0.00648947 -0.04330609 0.02193065

energy是整胞F,单位eV;force是eV/Å;temperature单位K。接着按温度NEP训练与预测提交单卡任务,不用手动替换或编造标签。

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

查看配图

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

100%查看原图 ↗