xTB专题

xTB热化学、Fukui指标与电荷实操

从水分子的实际频率与电子计算中读取焓、自由能、熵、Fukui指标和电荷。

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

下载真实输入输出、提取脚本和图片。本篇承接xTB结构优化与频率,使用集群xTB 6.7.1、GFN2方法的实际水分子结果。运行环境是官方Intel编译的CPU双精度程序,OpenMP并行。

1 从结构优化得到频率和热化学#

先复制下载包中的水分子XYZ到一个新的工作目录。在已分配的CPU资源中运行:

module load xtb/6.7.1
export OMP_NUM_THREADS=2
mkdir water-thermo
cp inputs/water-ohess/input.xyz water-thermo/
cd water-thermo
xtb input.xyz --gfn 2 --ohess tight --json > output.log
# 检查优化收敛和热力学结果
grep "GEOMETRY OPTIMIZATION CONVERGED" output.log
grep -E "TOTAL ENERGY|TOTAL ENTHALPY|TOTAL FREE ENERGY" output.log
cat vibspectrum

--ohess先优化再计算Hessian。确认不存在明显虚频后,再使用热化学修正。本次3个分子振动为1539.65、3642.45、3650.58 cm⁻¹;另外6个近零模是整体平移与转动。程序本次报告温度298.15 K。

量 实际结果
电子能E / Eh −5.070544444753
零点能 / Eh 0.020122316673
总焓H / Eh −5.046641117456
总自由能G / Eh −5.068040392535
H−E / Eh 0.023903327297
G−E / Eh 0.002504052218
熵S / J mol⁻¹ K⁻¹ 188.4414

这里G−E已经包含零点与有限温度修正,不能再额外加一次零点能。提取脚本核对G=H−TS,使用日志打印精度后,熵的闭合误差小于0.001 J mol⁻¹ K⁻¹。比较反应自由能时,每个物种都要保持方法、温度、标准态和低频处理一致;孤立分子气相结果不能直接作为溶液标准自由能。

水分子的热化学校正分解及GFN2电荷

2 怎样计算Fukui指标#

使用另一份干净目录,避免多个性质计算互相覆盖输出。下载包中用于此步的结构是独立的水分子输入,和上一步优化后几何不完全相同;要研究同一几何上的性质,可自行把xtbopt.xyz复制为输入。

cd ..
mkdir water-fukui
cp inputs/water-fukui/input.xyz water-fukui/
cd water-fukui
xtb input.xyz --gfn 2 --vfukui --json > output.log
grep -A5 "Fukui functions:" output.log

本次程序输出:

原子 f(+) f(−) f(0)
O 0.234 0.594 0.414
H1 0.383 0.203 0.293
H2 0.383 0.203 0.293

f(+)描述增加电子时的响应,常用于讨论受亲核试剂进攻的位置;f(−)描述移除电子时的响应,常用于讨论受亲电试剂进攻的位置;f(0)是两者平均。各列因打印精度在本例求和为1。这里两个等价H一致,O的f(−)更大。它们是模型和电荷分区下的描述符,不等同于反应活化能或实验选择性。

水分子的凝聚Fukui指标

3 读取电荷与垂直IP、EA#

部分电荷在xtbout.json中:

python - <<'CODE'
import json
x=json.load(open('xtbout.json'))
q=x['partial charges']
print(q)
print('sum =',sum(q))
CODE

中性水应接近零;它是GFN2的部分电荷,不能直接与Bader净电荷视作同一定义。下载包提取脚本把电荷和Fukui值放在同一张CSV中。

另建目录,用优化后的水几何和专用IPEA参数计算:

cd ..
mkdir water-ipea
cp inputs/water-ohess/xtbopt.xyz water-ipea/input.xyz
cd water-ipea
xtb input.xyz --vparam /public/software/xtb/6.7.1/linux-x86_64/share/xtb/param_ipea-xtb.txt --vipea --json > output.log
grep -E "empirical.*shift|delta SCC" output.log

专用参数基于GFN1,日志仍会写GFN1-xTB;所以不能只看Hamiltonian名称判断是否加载了IPEA参数,应同时保留完整命令和参数文件。本次对同一优化水几何实际运行两种设置:

设置 IP / eV EA / eV
仅--vipea,默认GFN1参数 15.7657 −5.6746
显式指定专用IPEA参数 13.7866 −2.0315

程序列出的IP/EA已含日志中的经验修正,不要手工重复加修正。此前显式GFN2且使用另一份未优化输入时,得到13.4406 / −11.3131 eV;参数和几何都不同,不能将它混进上表解释为单独的参数效应。

负EA在本模型与固定几何下表示加电子不利。这个短实例不能代替实验或高精度量子化学;研究阴离子束缚时还需核查基组、电子态与垂直/绝热定义。下载包分别保存两套新计算的真实输入与输出。

4 一条提取命令生成表格和图#

回到下载包根目录,在配套Python环境执行:

module load py4vasp/0.11.3
python analyze.py
cat results/thermochemistry.json
cat results/fukui.csv

生成results/thermo-charge.png和results/fukui.png。脚本读取包中真实日志,核对热化学恒等式、Fukui列和与总电荷,再输出数据。换成自己的分子时,原子数、电子态和温度应随体系调整,不能沿用本例的结果表。

参考:xTB垂直IP、EA与Fukui指标、xTB Hessian与热化学。

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

查看配图

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

100%查看原图 ↗