CREST专题

CREST分子动力学续算

完整复制时间、坐标和速度,把40fs与60fs续算拼接,并与连续100fs轨迹逐帧比较。

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

续算MD需要恢复运动状态,只有XYZ坐标还不够。本例把同一个水分子的100 fs普通MD拆成40 fs和60 fs,再与连续100 fs结果比较。它介绍的是3.0.2原生 .mdrestart,与构象搜索二进制检查点不同。

1. 跑完整示例#

使用MD、偏置和续算资料包,在 crest-md-mtd 目录提交 sbatch job.slurm。或者在已经分配的CPU作业内执行:

bash run.sh

脚本先完成 md-half,把其实际生成的完整checkpoint复制到 md-resume/continue.mdrestart,再启动续算;原checkpoint不覆盖。

2. 看懂checkpoint#

head -n 4 cases/md-half/crest_*.mdrestart
cat CONTINUATION-PREPARATION.json

第一行为时间40 fs,后面每个原子一行六列:坐标与原生半步速度。复制记录中的两个SHA应相同。不能把速度列删掉,也不能用XYZ末帧代替完整checkpoint后称为精确续算。

手工操作时,先将短段输出的真实 .mdrestart 原样复制到另一个新目录,并保留原子顺序、方法、时间步长、质量及恒温设置。新目录中的 input.toml 为:

input = "structure.xyz"
runtype = "md"
threads = 1
[[calculation.level]]
method = "gfn2"
chrg = 0
uhf = 0
accuracy = 0.0001
[dynamics]
length = 0.06
tstep = 0.25
dump = 0.25
temp = 300.0
hmass = 1.00794075
shake = 0
printstep = 10
restart = "continue.mdrestart"

length=0.06 是还要运行60 fs,不是重新指定到60 fs结束;restart 指向刚复制的文件。随后在该新目录运行 crest input.toml > native.out 2>&1。

3. 拼接时补上40fs边界#

40 fs短段有159帧(0.25–39.75 fs),续算有239帧(40.25–99.75 fs)。正确拼接是 159帧 + 40 fs checkpoint坐标 + 239帧 = 399帧,再与连续MD的399帧比较。直接拼接两个XYZ会缺少中间边界。

cat results/SUMMARY.json

本次原始实算最大坐标差约 1.0×10⁻¹⁰ Å,势能差约 1.0×10⁻¹² Eh,最终半步速度差约 3.1×10⁻¹³ 原子单位。这些是这套固定条件的结果,不是所有体系、平台或并行设置的通用精度保证。

连续MD与完整状态续算的逐帧比较

图右比较连续轨迹与正确拼接轨迹的逐帧最大笛卡尔差。40 fs边界的势能来自该checkpoint结构的独立原生单点。

4. 重新提取结果与适用范围#

python -B verify.py

本例验证普通MD的时间、坐标和速度连续性。RMSD偏置MD还有已沉积参考构型及其历史,不能仅复制普通 .mdrestart 就声称恢复完整偏置历史;随机恒温器、改时间步长或改电子方法也需要分别判断。

计算其他体系时另建输入目录,不直接使用水分子的固定参考文件。需要了解每个设置时,先阅读普通MD输入教程;版本行为可核对3.0.2动力学源码。

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

查看配图

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

100%查看原图 ↗