详细内容

LAMMPS讲解37-离子液体建模教程

本例发布如何结合Ligpargenmoltemplate建立离子液体的indata文件。这里以如下的离子液体为例

image.png 

其中R=CH3

首先在http://zarbi.chem.yale.edu/ligpargen/moleculeDraw.html这个网址的分子结构绘制面板中画出阳离子的结构,如下图

image.png 

然后点击make smiles

image.png 

然后按下图选择

image.png 

然后点击submit molecule,等待网站执行完成

然后点击ZIP下载文件

image.png 

将下载文件解压缩后在解压出的文件找到后缀名为.lmp的文件,就是我们要的一个分子的data文件。

采用相同的方法建立阴离子的一个分子的data文件。注意建立阴离子需要将分子电荷选择为-1

将两个.lmp文件分别重命名为yanglizi.lmpyinlizi.lmp,然后使用moltemplate的这个脚本ltemplify.pydata文件转换.lt文件

在装完moltemplate软件后这个脚本可以直接使用,在终端中进入yanglizi.lmpyinlizi.lmp这两个文件所在的目录,然后分别执行以下两条命令

ltemplify.py -name yanglizi yanglizi.lmp > yanglizi.lt

ltemplify.py -name yinlizi yinlizi.lmp > yinlizi.lt

由此就可得到阳离子和阴离子的.lt文件

然后就可以写system.lt文件对阴阳离子进行整列复制得到所需的data文件

import "yanglizi.lt"

import "yinlizi.lt"

 

write_once("Data Boundary") {

   -50   550  xlo xhi

   -50   550  ylo yhi

   -50   550  zlo zhi

}

#移动间隔要根据阴阳离子的尺寸进行设定,如果不想麻烦就可以设定一个很大的值比如50

 YAN = new yanglizi [10].move(0, 0, 50)

                    [10].move(0, 50, 0)

                    [10].move(50, 0, 0)

 

 YIN = new yinlizi [10].move(0, 0, 50)

                   [10].move(0, 50, 0)

                   [10].move(50, 0, 0)

#阴离子移动一下防止和阳离子重叠        

 YIN[*][*][*].move(50,50,50)

然后执行moltemplate.sh -atomstyle "full" system.lt,就可生成data文件了in文件需要自己写,我们需要生成的system.datasystem.in.settings文件。以下是弛豫示例的in文件。后续的分析可以在in文件中添加内容得到。

# ----------------- Init Section -----------------

 

  boundary p p p

  neighbor 3.0 bin

  neigh_modify every 1 delay 0 check yes

  atom_style full

  units real

  bond_style harmonic

  angle_style harmonic

  dihedral_style opls

  improper_style cvff

  pair_style   lj/cut/coul/long 8.5 8.5

  pair_modify mix geometric

  special_bonds lj/coul 0.0 0.0 0.5

  kspace_style pppm 0.0001

 

# ----------------- Atom Definition Section -----------------

 

read_data "system.data"

include “system.in.settings”

 

# ----------------- Run Section -----------------

 

 timestep 1.0

 

 velocity     all create 500 372748 rot yes dist gaussian loop local

 thermo          1000

 thermo_style  custom step temp

 thermo_modify flush yes

  

 dump mydump all custom 10000 dump.lammpstrj id mol type mass x y z

 

 fix fxnpt all npt temp 500 500 100.0 iso 100 100 1000

 

 run 10000

 run 10000

 run 10000

 run 10000

 run 10000

 run 10000

 run 10000

 run 10000

 run 10000

 run 10000

 run 10000

 run 10000

 run 10000

 run 10000

 run 10000

 run 10000

 run 10000

 run 10000

 run 10000

 run 10000

 run 10000

 run 10000

 run 10000

 run 10000

 run 10000

 run 10000

 run 10000

 run 10000

 run 10000

 run 10000

 

 unfix fxnpt

 fix fxnpt all npt temp 400 400 100.0 iso 1 1 1000

 run 500000

 write_data equ1.data

 write_restart restart1.equ

 

感谢鲍路瑶老师的分享,内容来自于鲍老师分享出来的资料

如有需要添加微信:lmp_zhushou  进入微信群,帮助他人,共建社区

获取完整版lammps讲义可以加微信lmp_zhushou或加入QQ994359511


最新评论
请先登录才能进行回复登录
技术支持: CLOUD | 管理登录
seo seo