VTST专题

VTST 表面跳跃 NEB 与 CI-NEB

从普通NEB切换CI-NEB,用实际Al表面跳跃数据读取能垒并检查路径方向。

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

本例先做普通 NEB,再把收敛路径的中间结构作为 CI-NEB 初值。最终目标是获得这条直接跳跃路径的最高点与能垒。请先读 初末态准备。

三点DFT路径及VTST样条

1. 从已优化端点插入中间图像#

完整示例下载,解压后执行以下短命令即可跑完整流程:

bash submit.sh
bash results.sh

如果只学习原生命令,先在独立目录准备路径:

module load vtstscripts/1040
mkdir my-neb
cd my-neb
cp ../work/p100/dft/start/CONTCAR initial.vasp
cp ../work/p100/dft/end/CONTCAR final.vasp
nebmake.pl initial.vasp final.vasp 1
ls 00 01 02

末尾的 1 是 一个中间图像,加上初末态,共三个路径结构。00 和 02 是固定端点,01 才是待优化的中间图像。IMAGES 不包含两个端点。插值只生成输入结构,没有自动完成 NEB。

2. 普通 NEB 的完整输入#

根目录放 INCAR、KPOINTS、POTCAR,各 00/01/02 下放对应 POSCAR。端点优化产生的 OUTCAR、CONTCAR 也保存在 00 和 02,便于后续读取端点能量。

SYSTEM=Al100-regular
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=200
NELM=150
ALGO=Normal
LWAVE=.FALSE.
LCHARG=.FALSE.
POTIM=0
ICHAIN=0
IMAGES=1
IOPT=2
SPRING=-5
LCLIMB=.FALSE.

ICHAIN=0 选择 NEB;LCLIMB=.FALSE. 先优化普通路径。IOPT=2 使用 VTST 力形式共轭梯度。IBRION=3 配合 POTIM=0,由 VTST 优化器控制位移;不要因为 VASP 日志中某些内置步长字段为零就判断原子没有移动。

这里单个中间图像用一个 MPI 进程和一张 GPU,适合演示。增加图像数后,必须重新安排 MPI 图像分组和 GPU 绑定,不能只把 IMAGES=1 改大而照搬单卡资源。

简化的单卡 Slurm 模板如下。完整包的提交入口会自动选择对应平台和当前允许使用的节点。

#!/bin/bash
#SBATCH --partition=gpu-8p100-hs
#SBATCH --nodes=1
#SBATCH --ntasks=1
#SBATCH --cpus-per-task=1
#SBATCH --gres=gpu:p100-16g:1
#SBATCH --mem=8G
#SBATCH --time=01:00:00
set -eo pipefail
source /etc/profile
module purge
module load vasp/6.6.1-p100-vtst vtstscripts/1040
export OMP_NUM_THREADS=1
ulimit -s unlimited
mpirun --bind-to none -np 1 vasp_std

VASP 6.6.1 的该 VTST GPU 构建使用 NVHPC 25.3、CUDA 12.8、HPC-X 2.22.1 和 MKL 2023.2,编入 VTSTcode revision 214。独立的 VTST Perl 后处理脚本是 revision 1040,两者不是同一个版本号。

3. 用普通路径启动 CI-NEB#

不要重新对最初端点插值。应复制普通 NEB 每个图像的 CONTCAR 为新 POSCAR,保留已优化路径,然后启用 climbing image。完整示例已自动完成此步骤。

grep -E 'IMAGES|IOPT|LCLIMB|EDIFFG' inputs/climbing/INCAR
cat work/p100/neb/regular/01/CONTCAR
cat work/p100/neb/climbing/01/POSCAR

CI 输入与上面的普通输入相同,主要修改为:

LCLIMB=.TRUE.

最高能量中间图像的力处理改变,使其沿路径向上、垂直路径向下寻找最高点。并非随便拿路径上的一个高能结构,就能称为正确过渡态。

两个阶段的实际离子步与自由原子力

图中的力是自由原子的真实原子受力;普通 NEB 阶段受弹簧力、路径投影控制,它的真实受力不必单调下降。最终 CI 最高点的最大自由原子力约 0.0196 eV/Å。固定底层原子的受力不混入这个值。

4. 本例得到什么#

P100 和 V100 16G 均得到约 0.9478 eV 的 E0 正向能垒,反向相同。采用同一展宽计算的 F 能垒约 0.9260 eV,两种能量定义单独保存,不混作一列。端点加最高点只有三个真实 DFT 路径结构,连续线是 VTST 样条插值。

为了判断最高点沿迁移方向是否合理,例子还在归一化构型方向上移动 ±0.03 Å,各做一次静态 DFT。力差得到约 −1.474 eV/Ų 的曲率,能量差独立核对为负。

真实正负位移的局部自由能变化

这只说明该路径方向局部不稳定,不等于完整 Hessian 已证明恰有一个虚频。本例研究 hollow→hollow 的直接跳跃,没有比较所有原子交换机制,也没有完成 slab、k 点与所有路径图像的收敛研究。用于理解和照着操作,不直接外推为所有 Al 表面的最低扩散能垒。

cat work/p100/analysis/summary.json
bash plot.sh work/p100/analysis own-figures

最后看 VTST 结果提取与绘图。

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

查看配图

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

100%查看原图 ↗