Gromacs(三) NPT平衡

还记得上一节讲的NVT平衡吗?

我们用周期性边界条件来满足粒子数不变,用粒子的速度符合该温度下喀尔兹曼分布来满足温度不变的限定,由于盒子的体积固定,所以我们并没有加以限制。但是在NPT平衡中,我们需要面对这个问题,如何让压力恒定,我们的做法就是改变盒子的大小,与恒温器相同,我们这里用的是barostat(恒压器),他会随着盒子压力的变化来改变盒子的体积以保证压力的不变,这是最符合实验条件下的系综了。

\frac{d b^2}{d t^2}= V W^{-1}\cdot {b}'^{-1}(P-P_{ref})

上面这个就是最常用的Parrinello-Pahman pressure coupling 的公式 里面的W就是耦合常数,用来控制耦合的快慢,b是指盒子的体积,P是指当前的压强,P-ref指的就是我们想要的压强。当然,除了这种压力耦合方式,在我们面对双相系统的时候,我们可能会用到surface-tension coupling,

其实NVT平衡和NPT平衡时很类似的,我们在进行预处理的时候完全可以把NVT的mdp文件修改一下,让我们回顾原理,觉得会修改哪些东西呢?

上一节中的pressure-coupling不能再是no的状态了。修改点如下

pcoupl           =Parrinello-Rahman  ;选择你温度耦合的方式
pcoupltype       = isotropic         ;耦合方式,这里的选择是让xyz都受到一样的压强耦合,还有其他的参数,例如semisotropic 半耦合,指xy与z受到的耦合方式不同 surface-tension 表面耦合等
tau_P            =2.0  ;指耦合的时间
ref_p            =1.0   ;我们需要的压强,单位为bar
compressibility  =4.5e-5 ;水的压强系数,如果你你改变了你的溶剂,记得把他修改一下
refcoord_scaling = com  ;我们在做npt的时候 盒子的体积改变,他的相对坐标也会随之发生变化,所以要采用这一项

修改好之后,你要修改你的sh文件,命令如下

gmx grompp -f MDP/npt.mdp -c en.gro -r en.gro -p topol.top -o npt.tpr -maxwarn 2 -v
gmx  mdrun -deffnm npt -v                 

等待模拟完成,我们就要进行最后的mdrun了。

你可能感兴趣的:(gromacs,学习)