xTB专题

xTB 振动与模式跟随:氨分子反转实例

区分优化后Hessian、偏置Hessian和原生模式编号,提供缺失模式文件的转换脚本。

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

下载完整输入、参考轨迹、CSV和画图程序,保存为example.zip:

python3 -m zipfile -e example.zip .
cd xtb-dynamics-path-examples
bash results.sh
bash plot.sh

环境为xtb/6.7.1,官方Intel版,固定提交edcfbbe。例子使用单线程CPU,配套job.slurm负责加载模块和运行;下文核心命令用于说明每一步实际执行的内容。原始结果在reference-results,重算结果在work。短演示用于学会操作,生产计算需要另外选择时长、精度和采样方案。

1. 先做优化与振动#

cat inputs/ammonia-opt-Hessian/input.xyz
sbatch job.slurm ammonia-opt-Hessian
xtb input.xyz --gfn 2 --ohess tight --json --parallel 1

--ohess先优化再算Hessian。氨是非线性4原子分子,共12个自由度:6个接近零的平移/转动模、6个振动模。优化后本例6个振动频率约为1160.33、1593.20、1593.21、3425.33、3477.32、3477.36cm⁻¹。

--hess对当前结构计算Hessian,不等于先优化;--bhess是偏置Hessian入口,不要把它当成另一种泛函。本例也实际运行了:

sbatch job.slurm ammonia-biased-Hessian

对应xtb input.xyz --gfn 2 --bhess tight --json --parallel 1。在这个小例的设置下其振动频率与普通优化后结果接近,不能据此认为偏置Hessian对所有体系都无影响。

2. 准备平面结构#

4
Planar ammonia
N 0 0 0
H 1 0 0
H -.5 .866025403784 0
H -.5 -.866025403784 0
sbatch job.slurm ammonia-planar-Hessian

核心命令:

xtb input.xyz --gfn 2 --hess --json --parallel 1

平面结构有一个约−928.01cm⁻¹的虚频,对应反转方向。负频率表示负曲率,不能当作实验中的负频振动峰。该固定结构不因此自动成为严格优化的过渡态。

3. 模式编号与文件转换#

原生模式编号1–6是投影后的平移/转动,振动从7开始。本例沿模式7跟随,不能看到“第一条物理振动”就写成--modef 1。

当前版本Hessian输出没有自动生成旧模式跟随入口所需的xtb_normalmodes。配套转换脚本从原生文本Hessian构造模式,并与原生JSON中的频率、约化质量核对。先等平面Hessian作业完成,再提交:

sbatch job.slurm ammonia-modefollowing-7

作业脚本中的步骤相当于:

/public/toolkit/miniconda3/envs/ase-3.29.0/bin/python make_normalmodes.py   work/ammonia-planar-Hessian work/ammonia-modefollowing-7/xtb_normalmodes

然后在模式任务目录执行:

xtb input.xyz --gfn 2 --modef 7 --input settings.inp --parallel 1

settings.inp为:

$modef
 n=8
 step=.5
 updat=.1
$end

本次原生程序把扫描点数调整为奇数,生成9帧。转换器目前专用于随包NH₃和匹配版本的文本输出,不能直接用于任意元素;其他分子需要使用正确原子质量和对应模式排序。

4. 输出与能量单位#

head -n 12 reference-results/ammonia-modefollowing-7/xtb_modescan_7.xyz
cat ammonia-modefollow.csv
bash plot.sh

xtb_modescan_7.xyz注释的第一个数是相对最低扫描点的能量,单位Eh;后面是频率、约化质量和原生扫描步坐标。图中乘627.509474换为kcal/mol,并用氮相对氢平面的高度画出反转方向。不要将原文件第一个数直接标成kcal/mol。

氨的6个振动模与原生模式7扫描

本例显示沿虚频方向离开平面结构的操作及两侧结构,不代替严格过渡态优化、IRC或速率计算。转换格式依据同版本模式读取源码。

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

查看配图

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

100%查看原图 ↗