计算化学公社

标题: 使用GMX进行NPT模拟时盒子突然炸开 [打印本页]

作者
Author:
onsager22    时间: 2025-4-26 09:38
标题: 使用GMX进行NPT模拟时盒子突然炸开
各位老师好,在我对体系进行了1ns的berendsen预平衡后,转用parrinello-rahman压浴控压。
1.在berendsen压浴阶段,体系盒子几乎没有体积变化,是否正常?
2.PR压浴盒子大小迅速收缩,紧接着突然盒子炸开,是什么原因?(频繁出现体积变化大于1%报错)

dt                  = 0.002         ; 时间步长 (ps)
nsteps              = 5000000       ; 总步数 (1000 ps = 1 ns)
nstlog              = 1000         ; 每 1000 步记录一次日志
nstenergy           = 1000         ; 每 1000 步记录一次能量
nstxout-compressed = 10000        ; 每 10000 步输出一次压缩轨迹 (.xtc)
tcoupl              = v-rescale   ; 温度耦合方法
tc-grps             = System      ; 温度耦合组 (整个系统作为一个组)
tau_t               = 0.2         ; 温度耦合时间常数 (ps)
ref_t               = 300         ; 目标温度 (K)
pcoupl              = Parrinello-Rahman  ; 改为PR方法
pcoupltype         = isotropic       ; 各向同性压力耦合
tau_p               = 2.5             ; 压力耦合时间常数
compressibility     = 4.5e-5         ; 水的压缩性 (1/bar)
ref_p               = 1.0             ; 目标压力 (bar)
cutoff-scheme       = Verlet         ; 截断方案
nstlist             = 10             ; 每 10 步更新一次邻近列表
rlist               = 1.2            ; 非键作用截断距离 (nm)
rcoulomb            = 1.2            ; 库仑截断距离 (nm)
rvdw                = 1.2            ; 范德华截断距离 (nm)
coulombtype         = PME            ; 库仑相互作用方法
pme_order           = 4              ; PME 计算精度
fourierspacing      = 0.25           ; Fourier 网格间距
constraints         = h-bonds      ; 建议约束所有键长
lincs_iter          = 1              ; LINCS 迭代次数
lincs_order         = 4              ; LINCS 计算精度
nstxout             = 0              ; 不输出 .trr 文件中的坐标
nstvout             = 0              ; 不输出 .trr 文件中的速度
nstfout             = 0              ; 不输出 .trr 文件中的力

作者
Author:
sobereva    时间: 2025-4-26 18:59
如果拓扑文件没问题,继续用berendsen,或者c-rescale
没事别乱改默认的fourierspacing      

作者
Author:
onsager22    时间: 2025-4-26 20:56
感谢sob老师,1.修改fourierspacing 是因为使用gmx invert插入链之后盒子比较大,提示PME计算占比较大才修改的。2.berendsen以及运行了1ns,延长到10ns这种再继续PR吗




欢迎光临 计算化学公社 (http://ccc.keinsci.com/) Powered by Discuz! X3.3