xTB专题

xTB 后端与溶剂:tblite、COSMO和CPCM-X

相同水结构比较梯度与溶剂模型,说明开壳层输入和数据读取方式。

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

下载输入、参考输出、CSV与画图程序,保存为example.zip:

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

图片生成在figures目录,实际计算的原始文本在reference-results。环境为xtb/6.7.1,官方Intel版、固定提交edcfbbe;每个例子单线程,无需GPU。下文的xtb命令展示实际计算步骤,集群提交时使用配套sbatch job.slurm 算例名;不要在登录终端长时间占用资源。每次重算使用新目录,避免旧文件混入。

1. 原生后端与tblite#

配套算例使用完全相同的优化水结构、GFN2和精度设置:

sbatch job.slurm water-native-gradient
sbatch job.slurm water-tblite-gradient

核心命令分别为:

xtb input.xyz --gfn 2 --grad --acc .01 --json --parallel 1
xtb input.xyz --gfn 2 --tblite --grad --acc .01 --json --parallel 1

本例总能量相差约1.6×10⁻⁹Eh,最大梯度分量差约5.2×10⁻⁹Eh/Bohr。它说明这个输入下两种实现接近,不代表所有功能和默认设置完全相同。本版tblite分支没有生成xtbout.json,读能量用stdout.log,读梯度用gradient,不要把旧JSON误当成本次结果。

grep 'TOTAL ENERGY' stdout.log
cat gradient

gradient文件的坐标和梯度分块存放,不能把所有三列数字都当作梯度。梯度单位Eh/Bohr,受力是梯度的负值。

2. 开壳层示例#

cat inputs/OH-tblite-spin/input.xyz
sbatch job.slurm OH-tblite-spin
xtb input.xyz --gfn 2 --tblite --spinpol --uhf 1 --json --parallel 1

这里是中性OH,--uhf 1指定一个未成对电子;不要把自旋多重度2写成--uhf 2。电荷与未成对电子数必须符合总电子数。

3. 三种溶剂入口#

sbatch job.slurm water-cosmo
sbatch job.slurm water-tmcosmo
sbatch job.slurm water-cpcmx

每项分别在独立目录执行:

xtb input.xyz --gfn 2 --cosmo water --json --parallel 1
xtb input.xyz --gfn 2 --tmcosmo water --json --parallel 1
xtb input.xyz --gfn 2 --cpcmx water --json --parallel 1

本例固定结构总能量约为:

设置 总能量/Eh
气相GFN2 −5.07054438
COSMO水 −5.07142477
TM-COSMO水 −5.07142477
CPCM-X水 −5.07834919

这些是各入口实际输出的总能量,不能直接把与气相的差都当作已包含标准态、热修正和构象平均的实验溶剂化自由能。CPCM-X有自己的组合步骤,应连同完整输出解释,而不能与普通COSMO混作一个模型。

4. cpx是什么#

安装目录中的cpx是CPCM-X配套溶剂工具,不是构象搜索或分子对接程序。普通用户优先采用本例xtb --cpcmx water入口;独立cpx还需要匹配的引擎、表面和设置文件,不能只凭帮助命令就算完成了一次溶剂计算。参考官方溶剂与性质说明。

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

查看配图

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

100%查看原图 ↗