上次介绍了,非平衡做功的方法计算自由能,其实fix smd继承了fix
spring的一些功能,也可以进行伞状抽样,进而用wham方法分析,获得比较好的自由能(PMF)曲线。umbrella方法是目前比较成功,且应用比较广的加强抽样方法,在定义反应坐标之后(可以是两个group的距离,或者某一方面上的距离),采用弹簧势限制位置进行抽样即可。伞状抽样,可以克服在高能垒下抽样不充分的缺陷。
对于大粒子体系,比如纳米粒子与膜作用;两个纳米粒子的有效相互作用等等,比较常用。
技术上比较简单。大致步骤如下:
-
利用steered MD cvel速度不为0,慢拉,获得每个反应坐标上,每个窗口下的初始结构(比如距离是 5 4 3 2 1下的初始结构)
-
每个窗口下,限制距离跑平衡,然后输出要处理的数据信息
3.WHAM方法进行数据处理。
下面是一个伞状抽样的实例。供大家学习(注:实例中,热浴、相互作用等设置只求简单,不求合理)。
example steered MD for two particles
echo screen
units lj
atom_style atomic
atom_modify map array
dimension 2
region box block 0 20 0 20 -0.5 0.5 units box
create_box 2 box
create_atoms 1 random 300 12345 box units box
set atom 10 type 2
set atom 20 type 2
mass 1 1.0
mass 2 5.0
multi neighbor and comm for efficiency
neighbor 1 multi
neigh_modify delay 0
comm_modify mode multi
interaction
pair_style lj/cut 2.5
pair_coeff 1 1 1.0 1.0 2.5
pair_coeff 1 2 1.0 1.0 2.5
pair_coeff 2 2 1.0 1.0 2.5
minimize and equilibrium
minimize 10e-4 10e-6 10000 100000
velocity all create 1.0 87287 loop geom
fix 10 all nve
fix 20 all temp/rescale 1 1.0 1.0 0.05 1.0
fix 30 all enforce2d
run 10000
write_restart restart.data
timestep 0.001
thermo 1000
thermo_style custom step temp
group pull1 id 10
group pull2 id 20
###loop for umbrella windows 采用label, next,jump方法进行多窗口抽样,输出多个文件利于进一步数据分析。
label loop
variable dr0 index 6.5 6.0 5.5 #不同窗口:两粒子间距离
fix smd umbrella / equilibrium
fix 40 pull1 smd cvel 20.0 0.0 couple pull2 auto auto auto ${dr0}
run 1000
output data
variable tt equal dt*step
variable dr equal f_40[6]
fix 50 pull1 print 10 "${tt}
{dr0}.pmf screen no
dump {dr0}.lammpstrj id type x y z
run 5000
next dr0
jump http://umbrella.in loop
注:该循环会生成一系列的umbrella.${dr0}.pmf文件,这个文件是用于wham方法进行数据分析的基础文件,轨迹文件也有一系列,供大家分析结构