VTST专题

VTST:原子间倒距离矩阵

实际运行alchardness并核对周期距离,说明输出为几何1/r矩阵,不能当作电子响应硬度。

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

下载原始输入、工具输出、CSV 和绘图脚本,保存为 example.zip:

python3 -m zipfile -e example.zip .
cd vtst-core-potential
module load ase/3.29.0 vtstscripts/1040
bash read.sh
bash plot.sh

工具版本为 VTST scripts 1040,使用 Perl;ASE 3.29.0、NumPy 和 Matplotlib 用于后处理。数据来自真实 NH₃ 原生振动计算,原子顺序 H、H、H、N;本篇只处理现有文件,不重新提交电子结构计算。

1. 工具名和实际输出要分清#

alchardness.pl 的名称中带有 hardness,但当前 scripts 1040 的实现只读取结构,计算非对角元素 1/rᵢⱼ,对角元素置零。它没有调用 VASP,不读取电荷密度,也没有对核电荷或电子数求能量导数。

因此本篇把输出称为几何倒距离矩阵。单位为 Å⁻¹;没有乘库仑常数或电子电荷平方,不能直接当作 eV 单位的相互作用能,更不能当成完整化学硬度/炼金术 DFT Hessian。

2. 处理真实 NH₃ 结构#

本例使用有限位移扫描开始前的参考 POSCAR,与静电势提取篇读取最后一组日志的构型范围不同。

mkdir geometry-new
cd geometry-new
cp ../inputs/minimum/POSCAR .
perl "$VTSTSCRIPTS_ROOT/alchardness.pl" \
  POSCAR inverse-distance.mat
cat inverse-distance.mat
cd ..

参数依次是输入结构和输出文件。省略时默认读取 CONTCAR,输出 hardness.out。最小点实际结果:

0.00000000 0.61103265 0.61103265 0.97925848
0.61103265 0.00000000 0.61102351 0.97924281
0.61103265 0.61102351 0.00000000 0.97924286
0.97925848 0.97924281 0.97924286 0.00000000

行列依次为 H1、H2、H3、N4。矩阵对称、对角为零,H–N 倒距离约 0.97925 Å⁻¹,对应约 1.021 Å 的键长。倒距离较大意味着两原子在几何上较近,不自动代表成键更强。

3. 对照另一份结构#

mkdir saddle-geometry-new
cd saddle-geometry-new
cp ../inputs/saddle/POSCAR .
perl "$VTSTSCRIPTS_ROOT/alchardness.pl" \
  POSCAR inverse-distance.mat
cat inverse-distance.mat
cd ..

鞍点参考构型中 H–N 项约 0.9963–0.9966 Å⁻¹,H–H 项约 0.57525–0.57528 Å⁻¹。这里反映 NH₃ 翻转相关的几何差异,不是通过该工具重新确定鞍点。

真实NH3参考结构的倒距离矩阵

4. 周期边界与使用范围#

脚本对分数坐标差做周期折回,再换算笛卡尔距离。本例使用 12 Å 立方盒,分子远离边界,并独立枚举相邻晶胞核对距离。

对高度倾斜晶胞,逐分量折回不一定等同于全局最短晶格像;不要把这个小例子的适用性直接扩展到任意斜晶胞。周期复制重合的原子也会让 1/r 不可用,先检查结构。

head -n 8 analysis-read/inverse-distances.csv
head -n 6 analysis-read/reference-geometry.csv

CSV 保留原生与独立周期距离结果,以及原子坐标。若需要真实电子电荷、键合或反应响应,继续采用对应的电子结构后处理方法。

5. 重做本例工具处理#

bash run.sh
bash read.sh work-new analysis-new
bash plot.sh analysis-new

本流程在新工作目录处理两份既有结构和日志,不提交新的量子化学计算;run.sh 已存在同名结果目录时停止。

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

查看配图

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

100%查看原图 ↗