xTB GFN1 STM:苯分子网格与高度图
完整STM设置、分子输入、原始输出和二维高度图,并说明孤立分子模型边界。
阅读本篇目录
下载输入、参考输出、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

附带脚本按x、y坐标重排数据,而不是假设文件行序与绘图库一致。换分子时先确认分子朝向、真空范围和网格,再调整窗口与等流设置;不要仅为图像好看任意修改物理参数。
需要根据你的体系选择资源?联系讨论计算需求。实际可用软件与权限,以当前账户和运行环境为准。