mdp系列的第三篇,对NPT模拟中的mdp文件做一简单介绍。
先上代码
1 title = OPLS Lysozyme NPT equilibration 2 define = -DPOSRES ; position restrain the protein 3 ; Run parameters 4 integrator = md ; leap-frog integrator 5 nsteps = 50000 ; 2 * 50000 = 100 ps 6 dt = 0.002 ; 2 fs 7 ; Output control 8 nstxout = 500 ; save coordinates every 1.0 ps 9 nstvout = 500 ; save velocities every 1.0 ps 10 nstenergy = 500 ; save energies every 1.0 ps 11 nstlog = 500 ; update log file every 1.0 ps 12 ; Bond parameters 13 continuation = yes ; Restarting after NVT 14 constraint_algorithm = lincs ; holonomic constraints 15 constraints = all-bonds ; all bonds (even heavy atom-H bonds) constrained 16 lincs_iter = 1 ; accuracy of LINCS 17 lincs_order = 4 ; also related to accuracy 18 ; Neighborsearching 19 cutoff-scheme = Verlet 20 ns_type = grid ; search neighboring grid cells 21 nstlist = 10 ; 20 fs, largely irrelevant with Verlet scheme 22 rcoulomb = 1.0 ; short-range electrostatic cutoff (in nm) 23 rvdw = 1.0 ; short-range van der Waals cutoff (in nm) 24 ; Electrostatics 25 coulombtype = PME ; Particle Mesh Ewald for long-range electrostatics 26 pme_order = 4 ; cubic interpolation 27 fourierspacing = 0.16 ; grid spacing for FFT 28 ; Temperature coupling is on 29 tcoupl = V-rescale ; modified Berendsen thermostat 30 tc-grps = Protein Non-Protein ; two coupling groups - more accurate 31 tau_t = 0.1 0.1 ; time constant, in ps 32 ref_t = 300 300 ; reference temperature, one for each group, in K 33 ; Pressure coupling is on 34 pcoupl = Parrinello-Rahman ; Pressure coupling on in NPT 35 pcoupltype = isotropic ; uniform scaling of box vectors 36 tau_p = 2.0 ; time constant, in ps 37 ref_p = 1.0 ; reference pressure, in bar 38 compressibility = 4.5e-5 ; isothermal compressibility of water, bar^-1 39 refcoord_scaling = com 40 ; Periodic boundary conditions 41 pbc = xyz ; 3-D PBC 42 ; Dispersion correction 43 DispCorr = EnerPres ; account for cut-off vdW scheme 44 ; Velocity generation 45 gen_vel = no ; Velocity generation is off
这个文件唯一需要说明的部分就是33-39行,压力耦合部分。
压力耦合部分可参考文档3.4.9节。与温度耦合类似, 体系也可以耦合到一个“ 压力浴”. GROMACS 既支持每步重新缩放坐标与盒矢量的Berendsen 算法, 扩展系综的Parrinello-Rahman 方法,也支持速度Verlet的一种变形, Martyna-Tuckerman-Tobias-Klein (MTTK) 方法的压力控制. Parrinello-Rahman 和Berendsen 方法可以与任何上述的温度耦合方法联用; MTTK只能与Nose-Hoover 温度控制方法联用.
Berendsen压力耦合:利用矩阵μ重新缩放坐标和盒矢量,每步或每npc步一次。
Parrinello-Rahman压力耦合:若压力或体积的涨落就其自身而言非常重要(例如, 计算热力学性质), 特别是对于小的体系, 弱耦合方案可能存在的一个问题, 这种方案没有很好地定义精确的系综, 模拟的并不是真正的NPT系综.GROMACS也支持使用Parrinello-Rahman 方法[37, 38]的等压模拟, 这种方法类似于Nose-Hoover 温控方法, 理论上能给出真正NPT系综.
表面张力耦合:当周期性体系中包含一个以上的相, 且这些相被平行于 表面的表面所隔离时, 表面张力和压力的 分量会与压力浴相耦合.只适用于Berendsen压力耦合算法。
MTTK压力控制算法:综合了压力耦合和温度耦合的完整方程, 这里称其为MTTK方程(Martyna-Tuckerman-Tobias-Klein)。
压力耦合部分有以下命令和参数:
pcoupl:可选指令有
(no)不进行压力耦合
(berendsen)采用Berendsen压力耦合,需要定义一个tau_p,时间常数
(Parrinello-Rahman)采用P-R压力耦合,同样需要时间常数
MTTK:使用MTTK压力控制算法。only useable with md-vv or md-vv-avek,只能与md-vv和md-vv-avek连用。
pcoupltype:
(isotropic)各项同性,需要的参数有时间常数,压缩率(compressibility),参考压力(ref-p)。
(semiisotropic)半各向同性。
(anisotropic)各向异性
(surface-tension)表面张力耦合
nstcouple:耦合频率。默认值为-1,-1代表采取与nstlist相同的值。
tau_p:压力耦合时间常数,默认值为1ps
ref-p:参考压强 单位为bar,无默认值
compressibility:压缩率,单位为bar-1,一般取4.5e-5。
refcoord-scaling:
(no)对位置限制不做修改
(all)位置限制要考虑压力耦合的影响
(com)只对质心(Center Of Mass)做修改,其他院子相对于质心的位置限制不做修改。