VTST:近邻距离与局部RDF
按原子编号读取近邻,比较CON距离,并理解局部径向计数与体相RDF的区别。
阅读本篇目录
下载VTST几何与模式完整示例,保存为example.zip:
python3 -m zipfile -e example.zip .
cd vtst-geometry-mode-examples
bash results.sh
bash plot.sh
这几步读取参考数据并画图。自己执行这些短工具时,运行bash run.sh;结果在work/,已有目录会保留。bash read.sh work核对新结果。这里不启动VASP,也不进行结构优化或MD;结构来自前面的真实NH₃翻转实例,脚本为已安装的VTST scripts1040,使用系统Perl及配套模块,不需要MPI/CUDA编译。
1. 先认清原子顺序#
本例是12 Å立方盒里的四原子NH₃。完整输入:
H N
1.0000000000000000
12.0000000000000000 0.0000000000000000 0.0000000000000000
0.0000000000000000 12.0000000000000000 0.0000000000000000
0.0000000000000000 0.0000000000000000 12.0000000000000000
H N
3 1
Direct
0.5000000000000000 0.5587331666666666 0.4838209583333333
0.5678192500000000 0.4412668333333333 0.4838209583333333
0.4321807499999999 0.4412668333333333 0.4838209583333333
0.5000000000000000 0.4804222499999999 0.5161790416666666
前三行为H,第4行为N。下列Perl工具的原子编号从1开始,因此中心原子填4;不要直接套用Python常见的从0编号。
2. 读取中心原子的全部近邻#
在自己的副本中操作:
module load vtstscripts/1040
mkdir neighbor-demo
cp inputs/POSCAR neighbor-demo/
cd neighbor-demo
neighbors.pl POSCAR 4
cat neighdist.dat
neighdist.dat第一项是排序序号,后面才是原子编号,最后一列为Å。它包含中心原子自身,距离为0;不能把这一行计作化学键。三条N–H距离约1.016793 Å,配套data/NH3-neighbors.csv保留全部输出和独立几何读取值。

3. 按距离区间数原子#
pos2rdf.pl POSCAR 4 0.1
末尾0.1是距离分箱宽度,单位Å。本例输出:
1.000 ( 3) : 1 2 3
它表示[1.0,1.1) Å内有3个邻居,编号1、2、3。这是单个中心原子的径向计数,没有体积、数密度和多帧平均归一化,不能直接当作液体或体相的标准g(r)。
4. 转CON后核对指定两原子的距离#
pos2con.pl POSCAR
distatom.pl POSCAR.con 1 4
本例约1.016793446 Å,与POSCAR的最小周期距离一致。CON文本的坐标精度与POSCAR不同;比较时保留原始POSCAR,别反复转换累积舍入误差。涉及倾斜晶胞或更复杂周期最小镜像时,建议再用ASE核对。
脚本说明:VTST官方文档。
需要根据你的体系选择资源?联系讨论计算需求。实际可用软件与权限,以当前账户和运行环境为准。