CREST专题

CREST:在xTB施加静态偏置

把生成的rmsdpot.xyz交给外部xTB,在三个实际结构上核对能量变化与单位。

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

生成 rmsdpot.xyz 后,应确认后续程序实际读取了它。本篇在3条相同几何上,比较外部xTB 6.7.1的GFN-FF基础单点与增加静态偏置后的单点。

1. 读取实际能量变化#

下载实际输入、结果与读取绘图脚本,保存为 example.zip:

python3 -m zipfile -e example.zip .
cd crest-RMSD-bias
bash read.sh
bash plot.sh

这两步只读取已完成结果。使用独立CREST 3.0.3(GNU Fortran、MKL)及外部xTB 6.7.1;个人入口与本专题其他3.0.3例子共用。首次构建需在分配的CPU作业内运行 bash build-private.sh。

三个实际结构的偏置前后能量差与独立高斯势重建

原输入集合第1、4、8条记录的能量变化约为 −0.002060625、−0.001643173、−0.001620699 Eh。这是人为加入的偏置势贡献,不是分子真实结合能或反应能。完整数据见偏置能量变化CSV。

2. 写控制文件#

把目标结构与生成的 rmsdpot.xyz 放在同一计算目录:

cat > bias.inp <<'EOF'
$metadyn
  bias_input=rmsdpot.xyz
$end
EOF

这里读取的是一组固定参考结构。它不是本篇重新执行的构象采样,也没有不断沉积新的高斯历史。

3. 加入偏置后做单点#

在已分配的CPU资源中运行:

module load xtb/6.7.1
xtb input.xyz --gfnff --input bias.inp --sp --parallel 2 > biased.log
grep -E 'Read bias|TOTAL ENERGY' biased.log

本次日志明确读取 9条 偏置参考。与不带 --input bias.inp 的同一几何单点比较,得到上面的非零能量变化。

基础计算与偏置计算要放在不同目录,避免同名输出覆盖;对比时保持几何和基础方法一致。不能把优化后不同几何的能量差全部归因于偏置。

4. 为什么独立读取需要转换长度#

静态偏置可写成各参考高斯项之和:

V_bias = sum_i k_i * exp(-alpha_i * RMSD_i^2)

本例资料包用刚体对齐后的全原子RMSD独立重建能量变化。XYZ坐标单位为Å,但实际xTB偏置求值使用Bohr表示的RMSD,因此脚本先完成Å到Bohr的转换;直接把Å数值代入会得到不同的结果。

head -4 analysis-read/CREST-RMSD-bias-energy-effects.csv

3条记录的独立重建与实际能量变化最大相差约 1.5×10⁻¹¹ Eh。这验证了本例文件与接口的传递关系,不替代势能面精度或采样充分性验证。

5. 用于自己的计算#

先统一参考集合的原子数与顺序、两套能量方法和化学状态,再生成偏置。用一两个固定结构核对实际读取条数、能量变化和单位后,再安排后续采样。新增偏置会改变势能面,不能把偏置轨迹直接用于不带偏置的平衡统计或动力学解释。

相关机制见xTB官方元动力学说明。本篇只报告上述固定几何单点,不报告新的MD轨迹、收敛自由能或反应速率。

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

查看配图

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

100%查看原图 ↗