VTST专题

VTST能量与受力收敛提取

用真实Si两原子优化输出,演示vef.pl提取、E0与相对能量、力阈值及固定原子的区别。

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

优化进行时,先看原子力是否下降,再看结构是否达到自己设定的目标。本例用已经完成的Si两原子LBFGS优化输出,演示vef.pl的实际用法。

1. 下载与参考结果#

下载完整输入、原生输出、CSV与绘图脚本,保存为example.zip:

python3 -m zipfile -e example.zip .
cd vtst-real-trajectory-tools
module load ase/3.29.0
bash read.sh
bash plot.sh

这一步读取本包保存的数据,在analysis-read/生成结果表、在figures/生成图片。新运行后处理时使用bash run.sh,输出写入新建的work-new/;它不运行VASP,也不提交新作业。

原计算为VASP6.6.1、VTST revision214,GPU构建采用NVHPC25.3、CUDA12.8、HPC-X2.22.1和MKL2023.2;PBE PAW64,ENCUT450 eV、EDIFF1E−6,自由原子力目标0.02 eV/Å。完整结构、INCAR与方法比较见VTST优化器选择。这里不重新计算该结构。

2. 在分析副本提取#

module load vtstscripts/1040
mkdir force-copy
cp inputs/Si-LBFGS-OUTCAR force-copy/OUTCAR
cd force-copy
vef.pl 0
cat fe.dat

参数0关闭旧gnuplot绘图,仅提取数据。省略它会按默认方式尝试绘制EPS。原生四列分别是调用编号、最大原子力、E0、相对首次调用的E0。

本例摘录:

0   2.56377900   -10.024028    0
1   2.49702300   -10.036852   -0.0128235
2   0.93769600   -10.198440   -0.174412
3   0.13934100   -10.225950   -0.201922
4   0.06326600   -10.226469   -0.202441
5   0.01705700   -10.226593   -0.202565

原生编号从0开始,这里一共6次真实DFT受力调用。E0是OUTCAR中的energy(sigma->0),不是把自由能F、无熵能和E0混为一列;原生输出会舍入。

3. 重画清晰的图#

cd ..
bash read.sh
bash plot.sh
head analysis-read/VTST-Si-LBFGS-vef.csv

Si优化的真实受力与相对E0

本例末次自由Si原子力约0.017057 eV/Å,达到0.02目标。E0另与vasprun.xml的离子步结果对照,避免把每次电子迭代中的中间能量误当成新的结构步。

4. 固定原子和不同输出格式#

vef.pl读取最大原子力摘要,不会替你判断哪些原子被固定。自己的模型有约束时,还应按允许移动的原子与方向检查最终受力,并检查CONTCAR结构。

某些动力学输出没有此脚本所查找的力摘要,可能生成空fe.dat。空文件表示这一提取入口没有读到对应数据,不能理解为力全为零。轨迹处理中的具体例子见H₂轨迹抽帧。

公式、目录与实际优化输入可继续看优化器对照,原生命令用途见VTST官方脚本页。

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

查看配图

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

100%查看原图 ↗