VTST专题

VTST:双重nudging的开关与力分量

比较LDNEB与LDNEBORG实际附加力,区分单步算法演示和收敛能垒。

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

双重nudging会在普通NEB路径力之外加入修正,处理垂直弹簧力等分量。本例沿用Al表面弯曲路径的结构和完整输入,只改变力算法开关。

下载输入、四组实际输出及读取绘图脚本,保存为 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. 四组开关怎样设#

目录 LTANGENTOLD LDNEB LDNEBORG
improved FALSE FALSE FALSE
old-tangent TRUE FALSE FALSE
DNEB FALSE TRUE FALSE
original-DNEB FALSE TRUE TRUE
for name in improved old-tangent DNEB original-DNEB; do
  echo "$name"
  cat inputs/"$name"/INCAR
done

使用双重nudging时保留其余电子、几何、约束和弹簧设置一致,才容易判断差别来自哪里。

2. 实际力差别#

四种算法的真实投影力与附加修正

平滑形式的双重nudging附加力整体范数约 0.0263995032 eV/Å,原始形式约 4.0113548683 eV/Å。这两个数是全体可动分量的修正范数,不是单原子最大力。对应可动原子最终投影力最大值约 0.899344 和 3.625015 eV/Å。

同一结构上不同算法给出的力可能差别很大;这不表示电子结构计算发生变化。四组实际电子自由能均为 -42.26525156 eV。配套脚本分别重建切线、平行弹簧力、垂直真实力及双重修正,按原生输出精度比较。

3. 运行与读取#

python3 prepare.py
cp /你的势目录/Al/POTCAR work-new/POTCAR
cd work-new
sbatch ../submit.sh
# 等作业结束
cd ..
bash read.sh work-new
bash plot.sh
head analysis-read/VTST-NEB-force-variants.csv

每组实际使用2个MPI进程、OMP线程1;提交模板申请56核整节点。模板顺序跑完四组,分别保存原生OUTCAR及退出信息。

这是一套单步力算法实例,没有比较哪种算法在所有材料上更快,也没有完成该弯曲路径的几何优化。CSV数据可用于核对图中数字。实际做NEB时先用普通设置建立稳定路径,再根据路径弯曲、弹簧力及优化表现决定是否采用这些选项。

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

查看配图

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

100%查看原图 ↗