lammps建模——EMC

14 篇文章 28 订阅
10 篇文章 3 订阅

用ms建模经常遇到些脑溢血的问题:AC模块完全跑不动,还有就是msi2lmp这个程序总是会丢势函数的参数。最后只好换个方法用了EMC,20MB的大小在建模这块简直吊打MS。

1.EMC下载安装

EMC文件下载地址:python调用EMC程序生成lammps的data文件。-EMC文档类资源-CSDN下载(需要安装python)

下载完解压后,在终端输入以下命令安装调用EMC的python库:

pip install emc-pypi

在python中执行以下代码,没有报错则说明改库安装成功。

import pyemc

由于EMC主体是用perl写的,所以电脑还需要支持perl环境,在终端输入以下命令查看是否支持perl:

perl -v

输出如下则表明已安装perl:

如果提示找不到perl,自行上官网下载安装就行了。

2.esh文件编写

下载的文件中自带了一些esh的例子,照着修改可以了。我用于生成PET/PE复合材料的esh如下:

#!/usr/bin/env emc_setup.pl

ITEM    OPTIONS

replace    true #覆盖存在的脚本
mass       true #在data中添加质量
ntotal     7200 #体系原子总数
density    0.3  #体系密度
field      pcff #设置力场(EMC支持COMPASS, PCFF, CHARMM, OPLS, TraPPE or coarse-grained force fields)
build_dir  .    #我也不知道有啥用

ITEM    END

ITEM    SHORTHAND #提供了一种快速构建化学文件的方法

PET O=C(C1=CC=C(C(OCCOC(C2=CC=C(C(OCCOC(C3=CC=C(C(OCCOC(C4=CC=C(C(OCCOC(C5=CC=C(C(OCCOC(C6=CC=C(C(OCCOC(C7=CC=C(C(OCCOC(C8=CC=C(C(OCCOC(C9=CC=C(C(OCCOC(C%10=CC=C(C(C)=O)C=C%10)=O)=O)C=C9)=O)=O)C=C8)=O)=O)C=C7)=O)=O)C=C6)=O)=O)C=C5)=O)=O)C=C4)=O)=O)C=C3)=O)=O)C=C2)=O)=O)C=C1)OCCOC,10 #名称,SMILE式,链数
PE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC,20 #名称,SMILE式,链数

ITEM    END

ITEM    COMMENTS #设置体系组分,含量

ITEM    GROUPS #组分
PET   O=C(C1=CC=C(C(OCCOC(C2=CC=C(C(OCCOC(C3=CC=C(C(OCCOC(C4=CC=C(C(OCCOC(C5=CC=C(C(OCCOC(C6=CC=C(C(OCCOC(C7=CC=C(C(OCCOC(C8=CC=C(C(OCCOC(C9=CC=C(C(OCCOC(C%10=CC=C(C(C)=O)C=C%10)=O)=O)C=C9)=O)=O)C=C8)=O)=O)C=C7)=O)=O)C=C6)=O)=O)C=C5)=O)=O)C=C4)=O)=O)C=C3)=O)=O)C=C2)=O)=O)C=C1)OCCOC #名称,smile式
PE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC #名称,smile式
ITEM    END

ITEM    CLUSTERS #含量

PET   PET,5 #名称,名称,链数
PE PE,20 #名称,名称,链数

ITEM    END #含量

将上面这段代码保存为1.esh。

smile式在许多化学资料库上可以查找,但是还是会有很多缺少的。建议还是自己用chemdraw绘制并导出smile式。

注释自己删掉

3.执行EMC生成data文件

在python中运行以下程序

import pyemc

pyemc.setup('xxx.esh')
pyemc.build('build.emc')

在esh文件所在目录下会生成以下文件:

4.文件详情

params文件中主要包含模型的势函数,质量等参数:

......
# Masses

mass		1    12.01115  # c
mass		2    12.01115  # c_0
mass		3    12.01115  # c_1
mass		4    12.01115  # cp
mass		5     1.00797  # hc
mass		6    15.99940  # o_1
mass		7    15.99940  # o_2
mass		8    15.99940  # oc

# Potentials

pair_style	lj/class2/coul/long ${cutoff} ${charge_cutoff}  # 9.5
bond_style	class2
angle_style	class2
dihedral_style	class2
improper_style	class2
pair_modify	mix sixthpower tail yes
special_bonds	lj/coul 0 0 1

# Pair Coeffs

pair_coeff	 1  1    0.05400    4.01000  # c,c
pair_coeff	 2  2    0.12000    3.30800  # c_0,c_0
pair_coeff	 3  3    0.12000    3.81000  # c_1,c_1
pair_coeff	 4  4    0.06400    4.01000  # cp,cp
pair_coeff	 5  5    0.02000    2.99500  # hc,hc
pair_coeff	 6  6    0.26700    3.30000  # o_1,o_1
pair_coeff	 7  7    0.24000    3.42000  # o_2,o_2
pair_coeff	 8  8    0.24000    3.53500  # oc,oc
......

data文件详情如下:

LAMMPS output created by EMC v9.4.4, build Aug 20 2021 07:52:52

        7140  atoms
        7185  bonds
       13760  angles
       19981  dihedrals
        8520  impropers

           8  atom types
          12  bond types
          20  angle types
          26  dihedral types
          15  improper types

             0    60.21913826  xlo xhi
             0    60.21913826  ylo yhi
             0    60.21913826  zlo zhi

Masses

       1   12.01115  # c
       2   12.01115  # c_0
       3   12.01115  # c_1
       4   12.01115  # cp
       5    1.00797  # hc
       6   15.99940  # o_1
       7   15.99940  # o_2
       8   15.99940  # oc

Atoms

       1       1   6 -0.5310  42.9929423661  30.7556164498   8.4423851246  # o_1
       2       1   3  0.7200  41.8686922004  31.1522224122   8.7061678569  # c_1
       3       1   4 -0.0180  40.5796544532  30.6967084270   8.0664396047  # cp
       4       1   4 -0.1268  40.6052652233  29.6647885167   7.1066772045  # cp
       5       1   5  0.1268  41.5743523233  29.1512023110   6.8297214122  # hc
......

将data导入ovito中:

2022.10.21更新:错误解决 

最近有几位同学来问的我程序执行报这样一个错误:

这个大概是github上的原作者更新pyemc库时写了啥bug,导致程序无法运行。

解决的办法就是安装老版本的pyemc库,然后用新版本包里的.py文件替换上面路径中提示的.py文件。

  • 11
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 17
    评论
评论 17
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

薛定谔的青蛙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值