VASP 专题

VASP MLFF短轨迹与末端DFT抽查

运行100fs冻结模型轨迹,读取真实保存帧,并在同一个末端几何上比较ML与新DFT能量和力。

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

下载VASP MLFF重拟合、补点与短轨迹完整示例,保存为example.zip:

python3 -m zipfile -e example.zip .
cd vasp-mlff-active-examples
bash results.sh
bash plot.sh

这几步读取参考数据并绘图,不启动新的VASP计算。完整输入在inputs/,原生结果在reference-results/,两个自有模型在models/,数值标签与七份CSV在data/。自己运行时,在本目录准备与标签一致的合法PBE64 Si POTCAR,再提交sbatch run.slurm。附件不含POTCAR、WAVECAR或VASP程序。

本例VASP6.6.1 GPU入口使用NVHPC25.3、CUDA12.8、HPC-X2.22.1、MKL2023.2;实际选择/重拟合/测试/末端DFT在P100,在线学习在V100 16G,每次1MPI进程、1CPU线程、1GPU。附带单作业模板选择P100,串起各阶段。

1. 冻结模型后运行短MD#

从在线学习结束结构继续,复制refit-after/ML_FFN为ML_FF,使用ML_MODE=run。本阶段不会再学习,也不调用DFT纠正轨迹。

完整INCAR:

SYSTEM = si-thermal-static
ENCUT = 550
PREC = Accurate
EDIFF = 1E-6
NSW = 100
IBRION = 0
ISMEAR = 0
SIGMA = 0.05
ISYM = 0
LREAL = .FALSE.
LASPH = .TRUE.
LWAVE = .FALSE.
LCHARG = .FALSE.
NELM = 150
ALGO = Normal
NBANDS = 48

ISTART = 0
ICHARG = 2
ML_LMLFF = .TRUE.
ML_MODE = run
ML_CTIFOR = .02
ML_MB = 256
ML_MCONF = 128
ML_MCONF_NEW = 8
TEBEG = 600
TEEND = 600
POTIM = 1
MDALGO = 2
SMASS = 0

ISIF = 2
RANDOM_SEED = 77124 0 0

1fs一步、共100步,名义长度100fs,600K固定晶胞。起点使用上一步CONTCAR,保留该结构的速度;完整输入在inputs/md-after/。

head -8 reference-results/md-after/OSZICAR
cat data/ML-MD-100fs.csv

2. 100步不等于保存了100帧#

本版快速ML预测的默认ML_OUTBLOCK=10,本次实际保存10、20、……、100fs共10个记录。图和CSV只有这些真实保存点,没有把缺少的中间结构插值成计算结果。需要更密输出时,可在自己的新任务中设置合适的ML_OUTBLOCK,同时考虑轨迹文件大小。

10个真实保存点、最近邻距离及末端力对照

保存点温度为513–731K,观察到的最短周期原子距离约2.198Å。它说明这段很短的测试没有在已保存帧中出现明显原子碰撞;不是生产轨迹稳定性或热平衡充分的证明,也没有声称检查了未保存的每个中间几何。

3. 对同一个末端结构做新DFT#

把MD最终CONTCAR原字节复制到两个新目录,一份做纯ML静态预测,一份关闭ML做普通DFT。两个目录的POSCAR必须相同,不能分别用不同帧比较。

普通DFT的完整INCAR为:

SYSTEM = si-thermal-static
ENCUT = 550
PREC = Accurate
EDIFF = 1E-6
NSW = 0
IBRION = -1
ISMEAR = 0
SIGMA = 0.05
ISYM = 0
LREAL = .FALSE.
LASPH = .TRUE.
LWAVE = .FALSE.
LCHARG = .FALSE.
NELM = 150
ALGO = Normal
NBANDS = 48

ISTART = 0
ICHARG = 2
ML_LMLFF = .FALSE.
ML_MODE = none
ML_CTIFOR = .02
ML_MB = 256
ML_MCONF = 128
ML_MCONF_NEW = 8
TEBEG = 300
TEEND = 300
POTIM = 1
MDALGO = 2
SMASS = 0

ISIF = 2

两边保持550eV、PBE64 Si、4×4×4Gamma、SIGMA0.05eV,DFT电子收敛1E−6。本例的终点DFT是新的独立标注,没有加入模型再回头报告预测误差。

cat data/new-final-spot.csv
head -6 data/final-spot-force-components.csv

实际末端抽查结果:

指标 本例值
ML−DFT能量 / meV·atom⁻¹ −0.4510
力分量RMSE / eV·Å⁻¹ 0.01469
最大单原子力误差 / eV·Å⁻¹ 0.05064

平均力误差和最大原子误差是不同量。不要只看一个较小的RMSE,就忽略局部原子的较大偏差。

4. 读取自己的结果#

bash extract.sh
bash plot.sh work/analysis figures-new

先完成原生任务,再提取和画图。短测试只是进入长模拟前的一步;真正研究仍需覆盖目标温度、体积、缺陷与过程,选择独立构型检查,并逐步延长轨迹。固定体积的小样本没有验证压力与变胞性质,也不能直接拿来做相变、扩散或反应统计。

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

查看配图

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

100%查看原图 ↗