VTST专题

VTST:近邻距离与局部RDF

按原子编号读取近邻,比较CON距离,并理解局部径向计数与体相RDF的区别。

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

下载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保留全部输出和独立几何读取值。

NH3结构、近邻与局部径向计数

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官方文档。

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

查看配图

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

100%查看原图 ↗