VASP与VTST的dimer过渡态搜索
用氨分子翻转的真实算例,比较原生IDM和VTST dimer,再以振动确认鞍点。
阅读本篇目录
不知道反应终态,但已有一个合理的过渡态附近构型和运动方向时,可以尝试dimer方法。本例是NH₃翻转:N原子从三个H组成的平面一侧翻到另一侧。dimer不要求提供终态,但起点和方向会影响它找到哪个鞍点,不能保证一次找到所有反应机制。
1. 先优化稳定分子,建立能量参照#
nh3-minimum目录使用PBE PAW64、12 Å立方盒、Gamma单点、550 eV、EDIFF=1E-6,IBRION=2优化原子,力阈值0.02 eV/Å。本例最终最大力0.00080 eV/Å,N距H平面约0.3873 Å。
每个目录准备合法H、N POTCAR,顺序与POSCAR一致,然后sbatch run.sh。不要将不同分子数、不同泛函或不同势文件的总能量直接相减。
2. 给出接近平面的猜测和翻转方向#
把N放到H平面附近,保留合理N—H距离。本例初猜N高出H平面0.04 Å,并设置H与N反向沿z运动的归一化初始轴。
原生改进dimer方法用:
IBRION = 44
NSW = 100
EDIFF = 1E-6
EDIFFG = -0.02
初始轴追加在POSCAR原子坐标之后,附件nh3-idm已准备好该格式。不能只写IBRION=44却漏掉方向。本例使用vasp/6.6.1-p100的vasp_gam。VASP改进dimer方法
3. 使用VTST时换对应入口#
nh3-vtst-dimer调用vasp/6.6.1-p100-vtst的vasp_std,初始方向放在独立MODECAR中:
ICHAIN = 2
IBRION = 3
POTIM = 0
IOPT = 2
DdR = 0.01
这套参数属于VTST dimer入口,不要和原生IBRION=44的方向格式混用。DIMCAR可查看搜索中的力和曲率;最终总能量、几何和原子受力仍从对应VASP输出提取。VTST dimer说明
两种构建使用NVHPC25.3、CUDA12.8及配套MPI,作业经Slurm运行。这里比较的是同一泛函下两种搜索实现,不是两种不同物理理论。
4. 检查实际得到的结构和能量#
| 目录 | 电子能 / eV | 最大原子力 / eV·Å⁻¹ | N相对H平面高度 / Å |
|---|---|---|---|
| nh3-minimum | -19.55007264 | 0.00080 | 0.3873 |
| nh3-idm | -19.34456833 | 0.00559 | -0.0007 |
| nh3-vtst-dimer | -19.34456559 | 0.01640 | 0.0013 |

原生IDM给出的电子能垒为0.205504 eV。两种搜索所得鞍点候选的能量差约2.74 μeV,N都接近平面。图是结果对照,不是一条NEB最小能量路径。
仅有小力还不足以证明是过渡态:稳定极小值也可以满足小力。还应检查不稳定方向和振动。
5. 用频率确认一个内部虚频#
对原生IDM最终结构做IBRION=5、NFREE=2、POTIM=0.015 Å的有限位移振动计算;稳定分子也用相同设置。先module load ase/3.29.0,附件可用python prepare_frequencies.py准备两份自己的最终结构,再分别提交频率目录run.sh。
计算结束后:
module load ase/3.29.0
python extract_ammonia.py
脚本投影去除分子的3个整体平移和3个整体转动,再分析剩余6个内部模。稳定分子的6个内部模均为实频;鞍点有5个实频和1个约788.92i cm⁻¹的内部虚频,对应翻转不稳定方向。
原始OUTCAR中可能还出现刚体运动附近的小虚频或非零低频,不能简单把输出的虚频行数全部当成反应不稳定模。本例使用质量加权刚体投影,没有按任意频率阈值删除模式。