CREST:在xTB施加静态偏置
把生成的rmsdpot.xyz交给外部xTB,在三个实际结构上核对能量变化与单位。
阅读本篇目录
生成 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轨迹、收敛自由能或反应速率。