VTST专题

VTST入门与dimer完整流程

用NH3翻转给出完整输入、Slurm提交、dimer收敛、结构和实际结果。

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

VTSTcode是编入VASP的过渡态搜索扩展,VTST scripts是独立的输入准备与后处理脚本,两者不是同一个版本号。本组使用VTSTcode revision 214、VTST scripts revision 1040,以NH₃翻转演示dimer、输入准备、振动与结果提取。

1 下载并看参考图#

下载完整输入、命令脚本、参考CSV与五张图

unzip vtst-practical-wave274*.zip
cd vtst-practical-wave274
bash run.sh

run.sh读取参考数据生成preview-figures/,不提交计算。开始自己的完整计算:

bash submit.sh
bash results.sh

默认通过Slurm申请一张P100;使用V100 16G时执行bash submit.sh v100。四个阶段依次是:稳定构型优化 → VTST dimer → 稳定构型的有限位移振动 → dimer构型的有限位移振动,然后自动提取、投影整体运动并画图。结果在work/p100/或work/v100/,已有目录不会自动覆盖或重复提交。

2 先准备稳定构型与dimer初猜#

NH3稳定构型与VTST得到的近似平面鞍点

稳定分子是锥形,翻转经过接近平面的构型。dimer只需要鞍点附近的合理初猜和方向,不要求已知终态;初猜不合理时,可能找到另一条运动方向或无法找到目标鞍点。

稳定构型完整输入位于inputs/minimum/,dimer初猜位于inputs/dimer/。下面是实际dimer输入的完整POSCAR:

H  N 
 1.0000000000000000
    12.0000000000000000    0.0000000000000000    0.0000000000000000
     0.0000000000000000   12.0000000000000000    0.0000000000000000
     0.0000000000000000    0.0000000000000000   12.0000000000000000
 H   N  
   3   1
Direct
  0.5000000000000000  0.5587331666666666  0.4983333333333334
  0.5678192500000000  0.4412668333333333  0.4983333333333334
  0.4321807499999999  0.4412668333333333  0.4983333333333334
  0.5000000000000000  0.4804222500000000  0.5016666666666666

盒长12 Å,元素顺序为3个H、1个N。按此顺序拼接自己获授权使用的PBE版本64赝势;配套脚本读取集群已有H和N POTCAR,附件不含赝势。

cat inputs/dimer/KPOINTS
cat inputs/dimer/MODECAR

本例使用Gamma单点。MODECAR各行对应同一原子顺序,是初始方向向量,不是原子坐标或速度:

0.000000000000 0.000000000000 0.572916872702
0.000000000000 0.000000000000 0.572916872702
0.000000000000 0.000000000000 0.572916872702
0.000000000000 0.000000000000 -0.123688200403

方向已整体归一化。它使N与H平面反向运动,帮助找到翻转方向。更换体系时应重新构造初猜和方向,不能继续使用本例四行向量。

3 VTST dimer的完整INCAR#

SYSTEM = nh3-vtst-dimer
ENCUT = 550
PREC = Accurate
EDIFF = 1E-6
EDIFFG = -0.02
NSW = 100
ISIF = 2
ISMEAR = 0
SIGMA = 0.05
LREAL = .FALSE.
LASPH = .TRUE.
LWAVE = .FALSE.
LCHARG = .FALSE.
NELM = 150
ALGO = Normal
ISYM = 0
IBRION = 3
POTIM = 0
ICHAIN = 2
IOPT = 2
DdR = 0.01

IBRION=3与POTIM=0关闭VASP本身的离子推进,由VTST的IOPT=2力驱动共轭梯度负责;它不是把原生IBRION=2直接用于dimer。ICHAIN=2选择VTST dimer,DdR=0.01是dimer相关的有限间距,单位Å。电子收敛为1E-6,自由原子最大力目标0.02 eV/Å。

在自己已获分配的计算资源内,手动运行该阶段时使用:

module load vasp/6.6.1-p100-vtst
export OMP_NUM_THREADS=1
mpirun -np 1 vasp_std > vasp.log

V100入口是vasp/6.6.1-v100-vtst。配套submit.sh已自动处理资源与环境,不需要在登录节点直接运行生产计算。本组VASP 6.6.1 GPU构建使用NVHPC 25.3、CUDA 12.8、HPC-X 2.22.1与MKL 2023.2,单卡单MPI进程;四原子示例用于流程学习,不作为多卡性能测试。

原生VASP的IBRION=44采用另一种方向输入格式,不应和本篇的VTST MODECAR混用;两者对照可看VASP dimer过渡态搜索。

4 查看实际收敛与能量#

tail work/p100/dimer/DIMCAR
tail work/p100/dimer/vasp.log
cat work/p100/analysis/summary.json
bash plot.sh work/p100/analysis own-figures

参考结果:稳定构型能量−19.55007264 eV,VTST dimer构型−19.34456559 eV,电子能垒约0.205507 eV。两者最大单原子力分别约0.00080、0.01640 eV/Å。实际复跑会有末位数值差异,应以自己的输出为准。

实际dimer迭代历史

DIMCAR同一平移步可能包含多次转动记录,dimplot.pl保留该步最后一条记录。本例末步Force约0.02760 eV/Å是整个力向量的范数,单原子最大力约0.01640 eV/Å,两者不能直接互换。末行---表示该项未打印,不应填成零。

小力只能说明构型驻留在平坦位置附近,不能单独证明找到过渡态。下一篇振动与前因子用实际Hessian确认一个内部不稳定方向。

VTST与dimer工作流 · VTST结构与路径准备 · VTST振动与前因子

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

查看配图

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

100%查看原图 ↗