Advertisement

lammps模拟水溶液环境中的聚乙二醇拉伸

阅读量:

本文介绍了Simon Gravelle使用lammps软件对聚乙二醇(PEG)在水溶液环境中的拉伸行为进行的数值模拟研究。通过设置外力作用于PEG链两端的原子,并结合水分子的动态调整,实现了对PEG分子链在水中受力状态的详细分析。研究发现,在水溶液环境中,PEG分子链能够在外力作用下发生稳定的拉伸变形,并且整体尺寸保持相对稳定。为便于理解和学习,作者对模拟输入文件进行了注释说明,并提供了完整的代码链接供读者参考和使用。

大家好,我是小马老师。

本文分享了Simon Gravelle的最新案例:使用Lammps进行模拟研究,在水中环境中对聚乙二醇(PEG)进行了拉伸。

在这里插入图片描述

LAMMPS模拟拉伸主要采用两种方法:固定边界条件(fix)变形和速度(velocity)变形。这两种方法主要用于模拟单元体的形变。

在此案例中,在盒体内沿纵向方向上设置了均匀分布的PEG单元,在该单元发生长度方向上的拉伸变形过程其周围配置有水基溶液环境;此封闭区域整体尺寸变化较小。

因此,在研究中作者通过fix addforce命令对PEG链两端的原子施加了大小相等但方向相反的作用力,并最终达到了该分子在水中被拉伸的效果。

在这里插入图片描述

可到作者主页下载全部代码:

复制代码
    https://github.com/lammpstutorials/lammpstutorials.github.io/tree/version2.0/docs/inputs/bulkfluids/allatoms/mergePEGH2O

为方便大家学习参考,对in文件进行了注释

复制代码
    # Written by Simon Gravelle
    #设置拉力
    variable f0 equal 5 # kcal/mol/A # 1 kcal/mol/A = 67.2 pN
    #模型基本参数设置
    units real
    atom_style full
    bond_style harmonic
    angle_style charmm
    dihedral_style charmm
    pair_style lj/cut/tip4p/long 1 2 1 1 0.1546 12.0
    kspace_style pppm/tip4p 1.0e-4
    special_bonds lj 0.0 0.0 0.5
    #读取data文件
    read_data mix.data
    #读取势函数参数文件
    include PARM.lammps
    #设置分组
    group H2O type 1 2
    group PEG type 3 4 5 6 7
    #oxygen_end1和oxygen_end2分别为PEG链两端的两个原子
    #使用id的方式把这2个原子设定为两个原子组
    #分组目的是便于使用fix addforce命令施加作用力
    group oxygen_end1 id 65
    group oxygen_end2 id 4
    #模拟结果输出
    dump mydmp all atom 1000 dump.lammpstrj
    #步长为1fs
    timestep 1
    #固定水分子键角
    fix myshk H2O shake 1.0e-4 200 0 b 1 a 1
    #设置nvt系综
    fix mynvt all nvt temp 300 300 100
    #输出温度
    variable mytemp equal temp
    fix myat1 all ave/time 10 10 100 v_mytemp file temperature.dat
    #xcm返回PEG两端原子x坐标
    variable x1 equal xcm(oxygen_end1,x)
    variable x2 equal xcm(oxygen_end2,x)
    #delta_x为两原子在x方向的距离
    variable delta_x equal abs(v_x1-v_x2)
    #实时输出两原子在x方向的距离,用于标定拉伸长度
    fix myat2 all ave/time 10 10 100 v_delta_x file end-to-end-distance.dat
    thermo 1000
    #运行1万步,弛豫
    run 10000
    #设置两原子在x方向的作用力
    fix myaf1 oxygen_end1 addforce ${f0} 0 0
    fix myaf2 oxygen_end2 addforce -${f0} 0 0
    #启动拉伸
    run 50000

公众号:lammps加油站

全部评论 (0)

还没有任何评论哟~