xTB专题

xTB 周期边界:GFN-FF与tblite固定晶胞

GEN输入、晶格梯度、固定晶胞优化,以及48原子苯分子晶胞实例。

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

下载完整输入、原生文本输出、CSV与画图脚本,保存为example.zip:

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

使用xtb/6.7.1官方Intel版、固定提交edcfbbe,单线程CPU。原始参考结果位于reference-results;用sbatch job.slurm 算例名提交,计算结果写到新的work/算例名。下文贴出的核心命令都对应实际执行输入。

1. 周期输入要包含什么#

本例把一个甲烷放进8×8×8Å的周期盒,演示文件与操作,不作为固态甲烷的收敛模型。GEN文件完整内容:

5 S
C H
1 1 4.0000 4.0000 4.0000
2 2 4.6293 4.6293 4.6293
3 2 4.6293 3.3707 3.3707
4 2 3.3707 4.6293 3.3707
5 2 3.3707 3.3707 4.6293
0 0 0
8 0 0
0 8 0
0 0 8

首行的S表示周期结构和Cartesian坐标。第二行列出元素,原子行前两个数为序号和元素类型序号;最后是原点和3个晶格矢量。坐标单位Å,不能把Bohr坐标直接贴进来。

2. 普通GFN-FF与晶格梯度#

sbatch job.slurm methane-periodic-FF
xtb input.gen --gfnff --grad --parallel 1
cat gradient
cat gradlatt
cat gfnff_charges

本例总能量约−0.63093021721Eh。gradient包含原子坐标与原子梯度,gradlatt包含晶格与对应梯度,均按原生原子单位存储;不要把晶格梯度直接叫应力GPa。gfnff_charges本例碳约−0.09165784e、各氢约0.02291446e,总电荷为零。

配套也运行了孤立分子GFN-FF:

sbatch job.slurm methane-molecular-FF

孤立与周期计算的边界条件不同,不能把能量差不加说明地当作晶格能。GFN-FF不是电子结构方法,不提供可信的轨道能带或电子DOS。

3. 周期GFN2与固定晶胞优化#

sbatch job.slurm methane-periodic-tblite
sbatch job.slurm methane-fixed-cell-opt

核心命令:

xtb input.gen --gfn 2 --tblite --grad --parallel 1
xtb input.gen --gfn 2 --tblite --opt loose --cycles 20 --nocellopt --parallel 1

这里的GFN2与GFN-FF是不同模型,不横向比较它们绝对总能量的高低。--nocellopt固定晶胞、只允许原子位置变化。本例优化后晶格仍为8Å立方盒,体积512ų,原子位置已调整。

cat reference-results/methane-fixed-cell-opt/xtbopt.gen

普通XYZ通常不包含足够晶胞信息,保存周期结果时保留GEN文件。若目标是变胞优化,应先确认该方法与程序入口的支持范围,再检查真空、周期方向和晶格梯度。

4. 苯分子晶胞#

下载包还包含官方指南的4分子、48原子苯晶胞,用普通GFN-FF实际计算梯度:

head inputs/benzene-crystal-gfnff/input.coord
tail -n 8 inputs/benzene-crystal-gfnff/input.coord
sbatch job.slurm benzene-crystal-gfnff
xtb input.coord --gfnff --grad --parallel 1

该.coord输入使用Bohr坐标,包含$periodic和晶格,不能与上面的GEN单位混用。

实际甲烷周期盒与官方苯晶胞的结构数据

本安装版的--mcgfnff分子晶体重参数化入口在这里的试算出现电荷方程求解问题。本教程采用已可运行的普通--gfnff;不要复用旧gfnff_topo缓存后,把普通力场结果误标成mcGFN-FF。换结构或模型时使用干净目录。

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

查看配图

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

100%查看原图 ↗