CREST的RMSD偏置动力学
在普通MD上添加RMSD高斯偏置,读取原生偏置记录,区分电子势能、偏置能和自由能。
阅读本篇目录
RMSD偏置会对已访问构型附近加入额外势能,帮助轨迹离开原来的构型区域。本篇继续使用MD教程中的水分子,重点演示输入、偏置输出和能量含义;100 fs短轨迹不能给出收敛自由能,也不是完整构象搜索的替代品。
1. 使用同一资料包#
下载MD与偏置完整资料包,进入 crest-md-mtd,用 sbatch job.slurm 提交。已在CPU作业内时可执行:
bash run.sh
如果已经运行过,不要在同一个目录再次启动整套脚本,直接读取结果;需要重新计算时解压到新目录。
2. 设置RMSD偏置#
inputs/mtd-full/input.toml 为:
input = "structure.xyz"
runtype = "mtd"
threads = 1
[[calculation.level]]
method = "gfn2"
chrg = 0
uhf = 0
accuracy = 0.0001
[dynamics]
length = 0.1
tstep = 0.25
dump = 0.25
temp = 300.0
hmass = 1.00794075
shake = 0
printstep = 10
restart = "start.mdrestart"
[[dynamics.meta]]
type = "rmsd"
alpha = 1.0
kpush = 0.0001
dump_fs = 5.0
ramp = 0.1
相对普通MD,主要变化是 runtype="mtd" 和 [[dynamics.meta]]。kpush 为高斯高度(Eh);alpha 控制对齐RMSD高斯的宽度,其倒数平方根给出Bohr尺度;dump_fs=5 每5 fs加入一个偏置参考,ramp 控制新参考的平滑开启。不要把RMSD偏置直接当成以某条键长或反应坐标为变量的自由能面。
3. 查看程序实际加入的偏置#
grep 'adding snapshot to metadynamics bias' cases/mtd-full/native.out
本次400步共加入20个参考。最后一个参考在末端加入,因此“日志里20个”不表示所有20个都已经作用在每一个已保存轨迹帧上。
原生轨迹的 Epot 包含电子能和偏置能。资料包对每个实际快照重新做独立单点,再按对齐RMSD重建偏置,输出到同一张CSV:
grep '^mtd-full,' results/md-timeseries.csv | sed -n '1,5p'
independent_electronic_Eh 是电子部分,independent_bias_Eh 是重建偏置;两者之和应与 native_potential_Eh 一致。这个核对适用于本固定输入,不能只拿带偏置的总势能当作无偏势能面。

左图展示原生总势能减独立电子能,以及按参考构型重建的高斯和;这不是自由能曲线。本次最大偏置约0.001870 Eh(约0.05088 eV),它表示额外推动势,不是反应能垒。
4. 重画和扩展#
python -B verify.py
3.0.2会对第一个偏置参考施加极小随机扰动,因此各次新运行的偏置轨迹和图允许略有差别。包内分别保留原始示例图与本次新图,分析针对每次真实轨迹独立进行。
实际柔性分子需要更充分的采样、合适偏置强度、构象筛选与重复运行,并确认所研究反应是否适合GFN2。这里不从水的短轨迹推断平衡概率、自由能、反应速率或完整构象空间。具体实现见3.0.2原生RMSD偏置源码。