本文介绍聚合物的断键拉伸。
在lammps模拟中,所有的键默认是永久存在的,非正常情况下,不能断开,否则会产生"bond atoms missing”错误。
聚合物的拉伸模拟过程中,聚合物链并没有被拉断,而只是把不同的聚合物链分离。
如果要模拟拉伸过程中键的断裂,就需要加一个额外的命令:fix bond/break。
fix 5 all bond/break 10 2 1.2
fix 5 polymer bond/break 1 1 2.0 prob 0.5 49829
这个命令可以设定每N步判断一次键长,如果键长超过设定的极限长度,则认为键被拉断。
如果符合键断裂条件,在整个体系中把这个键的链接信息删掉。
下面以一条聚乙烯链的拉伸为例,演示这个命令的用法。
units real
boundary s p p
atom_style full
neighbor 2 bin
neigh_modify every 1
timestep 0.1
bond_style harmonic
angle_style harmonic
dihedral_style harmonic
pair_style lj/cut/coul/cut 12
read_data pe.data
region left block INF -5 INF INF INF INF units box
region right block 36 INF INF INF INF INF units box
group left region left
group right region right
group mobile subtract all left right
velocity mobile create 100 9891
dump 1 all atom 10 dump.xyz
fix 01 left setforce 0 0 0
fix 2 mobile nvt temp 100 100 10
fix 3 right move linear 0.01 0 0 units box
fix 4 all bond/break 10 4 1.6
thermo_style custom step f_4[1] f_4[2]
thermo 1
run 10000
write_data pe2.data
f_4[1]、f_4[2]表示当前步数断裂键的数量和总的断裂数量。
pe2.data是拉伸后的data文件
通过对比初始pe.data,可以发现,在拉伸过程中,一共拉断了6条键。
公众号:lammps加油站
编辑:小马老师