|
|
大家好,我在模拟聚合物在水中的运动,在充分预平衡后,使用Parrinello-Rahman热浴进行数据收集,但是发现这个过程温度的变化越来越剧烈,最后趋于稳定。我第一次使用GROMACS,这个现象正常吗
输入参数文件:
title = run_npt
define = -DPOSRES_mxene ;约束mxene
integrator = md
dt = 0.001 ; 时间步长(单位为ps, 我们使用了2 fs). 只用于动力学积分器(如md), 能量最小化时不需要
nsteps = 5000000 ; 模拟步数(总模拟时间为nsteps*dt)
constraints = h-bonds ;约束氢键
constraint_algorithm = lincs
lincs_iter = 1
lincs_order = 4
periodic-molecules = yes ;用于周期性边界材料
; 输出控制参数
nstxout = 10000 ; 输出模拟坐标的频率(nstxout=500且dt=0.002, 所以每1 ps输出一次)
nstvout = 10000 ; 速度保存频率
nstenergy = 10000 ; 能量保存频率
nstlog = 10000 ; log文件输出频率
; 近邻列表参数
nstlist = 20 ;每 20 步更新邻居列表
pbc = xyz ;周期边界条件 xyz 全开
; 静电和VDW参数
coulombtype = PME ; 长程静电相互作用的计算方法
cutoff-scheme = Verlet ;使用 Verlet scheme,更适合 PME 模拟
pme_order = 4 ; 三次插值
fourierspacing = 0.12 ; FFT间隔
rcoulomb = 1.4 ; 计算静电作用的截断值(单位nm)
vdw-type = Cut-off
rvdw = 1.4
DispCorr = EnerPres ; 校正VDW截断
; 温度耦合部分非常重要, 必须正确填写.
tcoupl = v-rescale ; Velocity-rescale 温控器,带随机扰动,保持 Canonical NVT
tc-grps = mxene no_mxene ;全系统耦合
tau_t = 0.2 0.2 ; 温度耦合的时间常数(单位ps). 必须每个tc_grps指定一个, 且顺序对应
ref_t = 300 300 ; 代表耦合的参考温度(即动力学模拟的温度, 单位K). 每个tc_grp对应一个ref_t
nsttcouple = 10 ; 每 5 步更新一次温控器
; 压力耦合
pcoupl = Parrinello-Rahman ; NPT中压力耦合Parrinello-Rahman,C-rescale(产生相,系综严格)Berendsen(平衡相,不会有震荡),NVT设置为no
pcoupltype = semiisotropic
tau_p = 20.000000 ;压力耦合的时间常
ref_p = 1.0 1.0
compressibility = 4.5e-5 4.5e-5 ;系统压缩率
nstpcouple = 50 ;更新压力耦合
refcoord_scaling = com ;压力耦合时参考坐标缩放按质心
; 初始速度选项
gen_vel = no ; 使用NVT模拟保留的速度,不生成新速度
continuation = yes ; Restarting after NVT
; 退火
;annealing = periodic periodic;周期性退火
;annealing-npoints = 6 6 ;时间点数量
;annealing-time = 0 15000 30000 230000 245000 250000 0 15000 30000 230000 245000 250000 ;每个时间点对应的步数
;annealing-temp = 300 325 350 350 320 300 300 320 350 350 320 300 ;对应时间点温度(K),升温 → 保温 → 降温 → 回到初始温度
|
|