VTST专题

VTST邻居距离表:原子编号、排序与周期像

原生neighbors.pl对Si₈逐原子排序,实测保留自身零距离和七个其他原子,配最近像结构图。

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

想快速查看某个原子周围的距离,可以使用VTST的neighbors.pl。读表时要分清排序名次、原子编号和周期像,尤其不要把第一条0距离当作一个重叠原子。

1. 下载和最近像图#

下载完整输入、真实原生输出和绘图包,保存为example.zip:

python3 -m zipfile -e example.zip .
cd vtst-periodic-perl-geometry
bash results.sh
bash read.sh
bash plot.sh

上述命令先读随包已完成的结果;原生输出在reference-results/,CSV在data/,图在figures/。默认使用集群ASE环境中的Python,其他环境可用YS_ANALYSIS_PYTHON指定含NumPy、ASE和Matplotlib的解释器。

原子1周围的实际最近周期像和排序距离

体系沿用周期距离例子的Si₈正交盒,目标原子分数x为0.98。

2. 运行#

vt=/public/software/vasp/vtstscripts/1040
mkdir -p manual/neighbors
cp inputs/initial.vasp manual/neighbors/POSCAR
cd manual/neighbors
perl "$vt/neighbors.pl" POSCAR 1
cat neighdist.dat
cd ../..

这里Perl脚本的原子编号从1开始,与部分Python工具的0开始编号不同。参数1表示第一个Si。

3. 列怎么读#

每行先给从0开始的排序序号,再给从1开始的原子编号、原始笛卡尔坐标,最后给到中心原子的周期距离。第0名是中心原子本身,距离0;本例之后是另外7个原子。

排序名次 原子编号 距离/Å
0 1 0
1 4 2.2902759
2 6 2.2902759
3 2 2.4155872
4 8 2.4155872

并列距离的原子可能有不同排序次序,不要从名次差推断物理差别。表中的坐标是原胞内原坐标,最后的距离用最近周期像计算;直接用这些打印坐标相减可能得不到最后一列。

4. 提取和作图#

bash read.sh
bash plot.sh
cat data/VTST-Perl-PBC-neighbors.csv

随包脚本按独立分数坐标最近像计算逐项对照,再画图。图中三维点放在相对中心原子的最近像位置,因此可能不对应原始POSCAR中同一组胞内坐标。

这个工具列的是当前模拟胞中的每个原子各一个最近像,不会自动枚举所有晶格平移像。小胞中需要完整配位壳层时,应另用邻居表或超胞方法,不能仅数这里7个非自身原子来推断全部配位数。本例也不证明任意斜晶胞的最近像处理正确。

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

查看配图

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

100%查看原图 ↗