本文主要是介绍lammps聚合物断键拉伸模拟,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
本文介绍聚合物的断键拉伸。
在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.1bond_style harmonic
angle_style harmonic
dihedral_style harmonic
pair_style lj/cut/coul/cut 12read_data pe.dataregion 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 rightvelocity mobile create 100 9891dump 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.6thermo_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加油站
编辑:小马老师
这篇关于lammps聚合物断键拉伸模拟的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!