VTST:NEB切线选择与实际力对比
用弯曲Al表面路径比较改进切线和旧切线,展示完整输入及单点路径力。
阅读本篇目录
本例用Al(100)表面的13原子模型说明 LTANGENTOLD 怎样改变NEB路径力。底部8原子固定,其余5原子可动。中间图像有意偏离端点连线,从而能看出切线投影的差别。
下载输入、四组实际输出及读取绘图脚本,保存为 example.zip:
python3 -m zipfile -e example.zip .
cd vtst-NEB-force-variants
bash read.sh
bash plot.sh
默认读取随包真实结果。软件为VASP 6.6.1 CPU VTST构建,Intel oneAPI运行环境,模块 vasp/6.6.1-8173m-vtst。读取使用ASE和NumPy,绘图使用Matplotlib。

1. 看清输入与目的#
目录 00 和 02 是已有端点,01 是待求力的中间图像。本例只做一次电子自洽和路径力计算,不代表优化完成的能垒。
cat inputs/improved/INCAR
cat inputs/improved/01/POSCAR
cat inputs/improved/KPOINTS
完整INCAR:
SYSTEM=Al100-bent-force-variant
ENCUT=450
PREC=Accurate
EDIFF=1E-6
EDIFFG=-0.02
ISPIN=1
ISMEAR=0
SIGMA=0.1
NBANDS=48
LREAL=.FALSE.
LASPH=.TRUE.
ISYM=0
ISIF=2
IBRION=3
NSW=1
NELM=150
ALGO=Normal
LWAVE=.FALSE.
LCHARG=.FALSE.
POTIM=0
ICHAIN=0
IMAGES=1
IOPT=0
SPRING=-5
LCLIMB=.FALSE.
NCORE=1
LTANGENTOLD=.FALSE.
LDNEB=.FALSE.
LDNEBORG=.FALSE.
EFIRST=-43.21081228
ELAST=-43.21081229
中间图像完整POSCAR:
Al
1.0000000000000000
5.7275649276110396 0.0000000000000000 0.0000000000000000
0.0000000000000000 5.7275649276110396 0.0000000000000000
0.0000000000000000 0.0000000000000000 24.1499999999999986
Al
13
Selective dynamics
Direct
0.0000000000000000 0.0000000000000000 0.3726708074534172 F F F
0.5000000000000000 0.0000000000000000 0.3726708074534172 F F F
0.0000000000000000 0.5000000000000000 0.3726708074534172 F F F
0.5000000000000000 0.5000000000000000 0.3726708074534172 F F F
0.2500000000000000 0.2500000000000000 0.4565217391304374 F F F
0.7499999999999999 0.2500000000000000 0.4565217391304374 F F F
0.2500000000000000 0.7499999999999999 0.4565217391304374 F F F
0.7499999999999999 0.7499999999999999 0.4565217391304374 F F F
0.0000000056670175 1.0168101444031050 0.5326283374072580 T T T
0.5000000036162434 0.9860967086980346 0.5298693785734228 T T T
1.0000000059913159 0.4893006553738801 0.5326283364501714 T T T
0.5000000033989118 0.5139032911677808 0.5298693793838275 T T T
0.5157134608495778 0.2569837714997944 0.6215533010462583 T T T
KPOINTS:
Small teaching Gamma mesh
0
Gamma
2 2 1
0 0 0
EDIFF=1E-6 控制电子收敛;NSW=1 使本教学例只求一次力。IOPT=0、POTIM=0 避免把力算法比较混成几何优化比较。LCLIMB 关闭。EFIRST、ELAST 为同一设置下实际端点自由能;换自己的端点时必须重新计算,不能照抄数值。
2. 改进切线与旧切线#
# improved
LTANGENTOLD = .FALSE.
# old-tangent
LTANGENTOLD = .TRUE.
两组原子坐标、真实电子能量与原始原子力相同,差别来自路径切线及力投影。实际能量均为 -42.26525156 eV。垂直真实力的整体范数分别为 0.5603041145 和 0.5588771590 eV/Å;可动原子投影力最大值分别约 0.892281 和 0.893656 eV/Å。
固定原子在OUTCAR中仍可能有反作用力。比较NEB力时必须先按Selective dynamics约束屏蔽固定分量,不能直接对OUTCAR所有原子求最大值。配套读取器通过ASE约束信息识别固定原子。
3. 自己重新运行#
python3 prepare.py
cp /你的势目录/Al/POTCAR work-new/POTCAR
cd work-new
sbatch ../submit.sh
squeue -u "$USER"
# 作业完成后
cd ..
bash read.sh work-new
bash plot.sh
cat analysis-read/DATA-VALIDATION.json
脚本依次执行四组设置,每组2个MPI进程、OMP线程1;按本站规则申请2×28=56核整节点,整节点计费。POTCAR需自行提供。模板针对小例有时限,换大体系时应按规模调整。输出CSV可单独下载。
后续若要获得能垒,需要合理增加图像并优化整条路径,检查每个图像的可动力、端点和收敛情况;不能从这里的一次求力直接读出扩散能垒。双重nudging设置见下一篇。