xTB专题

xTB GFN1 STM:苯分子网格与高度图

完整STM设置、分子输入、原始输出和二维高度图,并说明孤立分子模型边界。

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

下载输入、参考输出、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. 示例描述的是什么#

本例是固定苯分子的简化STM模型,用于了解程序输入和输出。没有基底、真实针尖和界面结构,不能把高度图当作特定实验表面的预测。采用当前版本可以生成非零原始积分对的GFN1分支。

2. 准备输入#

cat inputs/benzene-gfn1-stm/input.xyz
cat inputs/benzene-gfn1-stm/settings.inp

settings.inp完整内容:

$stm
 grid=1.0
 potential=-8.0
 current=.00001
 broadening=.1
 thr=1e-12
$end

这是这次演示采用的原生模型设置。potential选择模型能量窗口,current为程序等流值设置,不应未经单位和模型换算就标成实验仪器上的安培或伏特。grid控制横向网格;本组参数只用于流程演示,不作为推荐实验条件。

3. 提交并查看关键输出#

sbatch job.slurm benzene-gfn1-stm

核心命令:

xtb input.xyz --gfn 1 --stm --input settings.inp --json --parallel 1
grep 'number of prim pairs' stdout.log
head stm.dat

本例原始积分对数量为9944,stm.dat有240个网格点,每行x、y、z均以Å表示,输出高度范围约0–1.58753Å。网格边缘存在零高度点,不能据此把整幅图判为零。

本版GFN2在这个STM入口可能打印正常终止,却得到零原始积分对;因此不使用该输出作为本教程的电子STM结果。检查时除了结束标记,还要看积分对、网格和高度是否符合实际请求。

4. 画出高度图#

bash plot.sh
head benzene-GFN1-STM.csv

实际苯分子结构与GFN1原生STM高度网格

附带脚本按x、y坐标重排数据,而不是假设文件行序与绘图库一致。换分子时先确认分子朝向、真空范围和网格,再调整窗口与等流设置;不要仅为图像好看任意修改物理参数。

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

查看配图

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

100%查看原图 ↗