GROMACS速度自相关与DOS实操
从密集保存速度到gmx dos,比较两个时间步和四组独立初速度。
阅读本篇目录
先下载本批输入、参考数据与绘图脚本,解压进入 full-function-wave1。参考数据在 cases、tools,自己的新计算在 work,避免覆盖或向旧输出追加数据。
unzip full-function-wave1-*.zip
cd full-function-wave1
python start.py
1 先决定保存什么#
普通 md.xtc 通常只有坐标,不能用于速度自相关和速度态密度。先在菜单选择 4:GROMACS速度谱,生成1 fs和2 fs时间步、各四个初速度种子的SPC/E水算例。结构来自已平衡水,先独立生成速度并恒温预平衡,再进行NVE生产。
cat work/gromacs-water-dt0.001-s27111/production.mdp
bash submit.sh
1 fs算例的完整生产输入如下:
cutoff-scheme = Verlet
nstlist = 20
coulombtype = PME
rcoulomb = 1.0
rvdw = 1.0
pbc = xyz
constraints = h-bonds
integrator = md
dt = 0.001
nsteps = 10000
nstenergy = 100
nstcalcenergy = 50
nstlog = 1000
nstxout-compressed = 500
tcoupl = no
tc-grps = System
tau-t = 0.5
ref-t = 300
pcoupl = no
gen-vel = no
gen-temp = 300
gen-seed = 27111
continuation = yes
pcoupltype = isotropic
tau-p = 5
ref-p = 1
compressibility = 4.5e-05
nstxout = 0
nstvout = 2
nstfout = 0
nstcomm = 100
dt=0.001 的单位是ps;nstvout=2 每2 fs保存一次速度。2 fs时间步时使用 nstvout=1,同样每2 fs保存速度,因此两组谱具有相同的采样间隔。生产阶段不控温、不控压,continuation=yes,从各自预平衡的检查点续算。每条生产轨迹10 ps,用于操作演示和短时间数值比较。
GROMACS 2026.4使用对应GPU分支运行MD,gmx dos 提取在CPU上完成。SPC/E属于刚性水模型,约束了分子内伸缩与弯曲;这里得到的不能解释成完整的水分子振动光谱。版本和编译环境见环境指南。
2 从预平衡开始执行#
提交脚本包含以下顺序,修改自己的输入时保持这一先后关系:
gmx grompp -f equilibrate.mdp -c start.gro -p topol.top -o eq.tpr
gmx mdrun -deffnm eq -ntmpi 1 -ntomp 3 -nb gpu -pme gpu -update cpu
gmx grompp -f production.mdp -c eq.gro -t eq.cpt -p topol.top -o md.tpr
gmx mdrun -deffnm md -ntmpi 1 -ntomp 3 -nb gpu -pme gpu -update cpu
这些MD命令放在申请了GPU的作业中执行。完成后保留 md.trr 中的速度,不能只留下 md.xtc。
3 提取速度相关和DOS#
printf '0
' | gmx dos -f md.trr -s md.tpr \
-e 2 -acflen 250 -T 300 \
-dos dos.xvg -vacf vacf.xvg -mvacf mvacf.xvg
0 选择System。本次提取前2 ps,相关长度250个速度帧,约0.5 ps;频率分辨能力也受相关长度限制。2 fs取样的Nyquist频率为250 THz,但有这么高的取样上限不等于模型含有对应的真实振动。
vacf.xvg 是归一化速度相关,mvacf.xvg 为质量加权相关,dos.xvg 按GROMACS的DOS约定给出。默认横轴1/ps即THz;若改用 -recip 则是cm⁻¹,不能只换轴标签。
4 看多次初速度的结果#
python analyze.py
python plot.py
上面重现附件参考数据和图;自己的速度谱在各 work/.../dos.xvg。四个种子的1 fs与2 fs平均谱在本例中接近,速度自相关在短时间内衰减。

这些结果支持这套小模型的短时间操作对照,不代表扩散系数、低频谱或热力学量已经收敛。低频性质要增加轨迹和相关时间;若研究分子内振动,需采用适用的柔性模型、时间步和约束设置,而不是给刚性水的数据加上伸缩峰。
官方输入要求与DOS定义:gmx dos。