fix SMD计算自由能(PMF)之umbrella抽样

版权声明:iSimuLy创作 https://blog.csdn.net/iSimuLy/article/details/82848824

上次介绍了,非平衡做功的方法计算自由能,其实fix smd继承了fix
spring的一些功能,也可以进行伞状抽样,进而用wham方法分析,获得比较好的自由能(PMF)曲线。umbrella方法是目前比较成功,且应用比较广的加强抽样方法,在定义反应坐标之后(可以是两个group的距离,或者某一方面上的距离),采用弹簧势限制位置进行抽样即可。伞状抽样,可以克服在高能垒下抽样不充分的缺陷。
对于大粒子体系,比如纳米粒子与膜作用;两个纳米粒子的有效相互作用等等,比较常用。

技术上比较简单。大致步骤如下:

  1. 利用steered MD cvel速度不为0,慢拉,获得每个反应坐标上,每个窗口下的初始结构(比如距离是 5 4 3 2 1下的初始结构)

  2. 每个窗口下,限制距离跑平衡,然后输出要处理的数据信息

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} d r " f i l e u m b r e l l a . {dr}" file umbrella. {dr0}.pmf screen no

dump d r 0 a l l c u s t o m 100 s m d . {dr0} all custom 100 smd. {dr0}.lammpstrj id type x y z

run 5000

next dr0
jump http://umbrella.in loop

注:该循环会生成一系列的umbrella.${dr0}.pmf文件,这个文件是用于wham方法进行数据分析的基础文件,轨迹文件也有一系列,供大家分析结构

猜你喜欢

转载自blog.csdn.net/iSimuLy/article/details/82848824