系综的实现方式(nve、nvt、npt)

每个动力学模拟必须要通过fix命令设置系综,若没有设置系综,则就没有时间积分。

一、NVE系综

更新位置和速度,V和E恒定。

velocity all create 300.0 4928459 rot yes dist gaussian    #控制原子的初始速度

fix   1   all   nve

 

二、NVT系综

几种实现的方式:

LAMMPS中,系综的温度控制一般有以下几种方法:

1)直接速度标定法:fix temp/rescale command

2)Berendsen温控机制: fix temp/berendsen command

3)Langevin温控机制: fix Langevin  command

4)Nose-Hoosver温控机制:  fix nvt command

前三种温控方法使用时前面必须加fix nve command,否则无时间积分,原子位置不改变。

 

两种比较常用的nvt系综设置方式如下:

第一种:

fix 1 all nve                                                       #更新位置和速度,e和V保持不变。若只有这个命令,就只nve系综,如果和控温命令一起,就是nvt系综。
fix 2 all langevin     298.0 298.0 100 699411      #控温,fix ID group-ID langevin Tstart Tstop damp seed keyword values 这里温度不变,恒温298k。100表示温度阻尼系数。

第二种:

fix 1 all nvt temp 300.0 300.0 100.0 #执行NVT系综, 1为fix的ID,all是对所有原子,第一个300 和第二个300分别为给系统设置的初始温度和最后温度,100为温度阻尼系数。温度阻尼一般是步长的100-500

 

 

三、NPT系综

系综的压力控制一般有两种方法:

1)Nose-Hoosver控压机制: fix npt command   

2)Berendsen控压机制:fix press/berendsen command

第二种方式同样需要配合fix nve command或fix nvt command进行时间积分。值得注意的是,fix npt是对整个盒子进行设置,不能单独对部分原子设置,而且必须在具有周期性边界的方向才可以进行控压。

常用的设置方式:

fix 1 all npt temp 300 300 100 iso 1 1 1000    #各向同性控压,盒子三个方向同样变化,温度设置为300K,压强为1atm,压强阻尼一般是步长的1000

 

fix 1 all npt temp  300 300  100 aniso 1 1 1000    #各向异性控压,三个方向不同变化

 

另外,要注意的是:

fix nvtfix npt不能控制温度为0 K。因为LAMMPS中采用的是Nose/Hoover控温方法,因此不能把Tstop设置为零度,可设置为足够小的非零数值。drag是增加一个额外的阻尼减少不必要的Nose/Hoover的震动。

温度阻尼一般是步长的100-500

 

压强阻尼一般是步长的1000

 

温度阻尼一般是步长的100-500

posted @ 2019-05-04 16:19  一棵开花的树sysu  阅读(12776)  评论(0编辑  收藏  举报