VTST邻居距离表:原子编号、排序与周期像
原生neighbors.pl对Si₈逐原子排序,实测保留自身零距离和七个其他原子,配最近像结构图。
阅读本篇目录
想快速查看某个原子周围的距离,可以使用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的解释器。

体系沿用周期距离例子的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个非自身原子来推断全部配位数。本例也不证明任意斜晶胞的最近像处理正确。
需要根据你的体系选择资源?联系讨论计算需求。实际可用软件与权限,以当前账户和运行环境为准。