VTST:路径图像对齐与原子固定
实际运行nebfreeze,说明它整体平移每个图像并固定选定原子,不是单独移动一个原子。
阅读本篇目录
下载完整输入、原生输出与绘图资料包,保存为 example.zip:
python3 -m zipfile -e example.zip .
cd vtst-path-seeds
module load ase/3.29.0 vtstscripts/1040
bash read.sh
bash plot.sh
本例调用 VTST scripts 1040 的 Perl 工具,NumPy/ASE 3.29.0/Matplotlib 用于读取和绘图。输入沿用Al(100) CI-NEB 实算的最终结构及 OUTCAR,未重新计算 VASP。体系为 13 个 Al 原子,底部 8 个固定;00、01、02 依次为初态、中间点、末态。
1. 先理解 nebfreeze 的实际行为#
nebfreeze.pl 不只是添加一个 F/F/F 标记。它以列表中第一份结构为参考,把每份结构的全部原子一起平移,让所选原子与参考位置重合,然后把该原子设为固定。
因此适合选择稳定的参考原子来消除整体漂移;如果选择正在迁移的原子,可能改变你想比较的路径表达。它不重新求能量、不优化原子,也不自动构造受约束的最小能量路径。
2. 用迁移原子观察整体平移#
下面故意选本例的吸附 Al,即第 13 个原子,展示这个区别。仅在新副本执行:
cp -a inputs align-demo
cd align-demo
perl "$VTSTSCRIPTS_ROOT/nebfreeze.pl" \
13 00/POSCAR 01/POSCAR 02/POSCAR
head -n 23 01/POSCAR
cd ..
参数 13 从 1 编号。执行后,三个图像中第 13 个原子都与初态参考位置重合;同一图像的其余原子也发生相同整体平移,所以各图像内部的相对几何保持。

不要直接把本演示中对齐吸附原子后的结构当成新的吸附迁移路径。实际消除表面模型漂移时,更应选择稳定的基底参考原子,并先看清平移对各图像的影响。
3. 检查结构和固定标记#
bash read.sh
head -n 8 analysis-read/freeze.csv
bash plot.sh
freeze.csv 给出每个图像的全部坐标和固定标记。本例核对了:所选原子位置对齐、底部 8 个固定原子标记保留、所选第 13 原子设为固定、晶胞保持,以及每份结构内部的相对位置按周期最小像保持。
原生脚本会直接重写作为参数传入的 POSCAR,不额外保存原始文件;因此前面的 cp -a 是操作步骤的一部分。它还沿用第一份结构的约束设置,不应拿不同原子顺序或不同约束的结构混合处理。
4. 一次运行资料包的处理流程#
bash run.sh
bash read.sh work-new analysis-new
bash plot.sh analysis-new
work-new/ 已存在时快捷脚本会停止,避免覆盖。程序只运行 VTST 小工具,既有原始 NEB 目录保持在 inputs/。需要重新计算新约束下的路径时,应另建计算目录、写好 INCAR 并按CI-NEB 教程提交。