最近在尝试做个高分子复合材料的建模,一开始用的MS被气得不轻。动不动就程序崩溃,体系一大就完全跑不动,几十分钟跑1%。最后只好换个方法用了EMC,20MB的大小在建模这块简直吊打MS。

1.EMC下载安装

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

  1. pip install emc-pypi

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

  1. import pyemc

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

  1. perl -v

输出如下则表明已安装perl:
image.png
如果提示找不到perl,自行上官网下载安装就行了。

2.esh文件编写

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

  1. ITEM OPTIONS
  2. replace true #覆盖存在的脚本
  3. mass true #在data中添加质量
  4. ntotal 7200 #体系原子总数
  5. density 0.3 #体系密度
  6. field pcff #设置力场(EMC支持COMPASS, PCFF, CHARMM, OPLS, TraPPE or coarse-grained force fields)
  7. build_dir . #我也不知道有啥用
  8. ITEM END
  9. ITEM SHORTHAND #提供了一种快速构建化学文件的方法
  10. 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式,链数
  11. PE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC,20 #名称,SMILE式,链数
  12. ITEM END
  13. ITEM COMMENTS #设置体系组分,含量
  14. ITEM GROUPS #组分
  15. 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式
  16. PE CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC #名称,smile式
  17. ITEM END
  18. ITEM CLUSTERS #含量
  19. PET PET,5 #名称,名称,链数
  20. PE PE,20 #名称,名称,链数
  21. ITEM END #含量

将上面这段代码保存为1.esh。
smile式在许多化学资料库上可以查找,但是还是会有很多缺少的。建议还是自己用chemdraw绘制并导出smile式。

3.执行EMC生成data文件

在python中运行以下程序

  1. import pyemc
  2. pyemc.setup('xxx.esh')
  3. pyemc.build('build.emc')

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

4.文件详情

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

  1. ......
  2. # Masses
  3. mass 1 12.01115 # c
  4. mass 2 12.01115 # c_0
  5. mass 3 12.01115 # c_1
  6. mass 4 12.01115 # cp
  7. mass 5 1.00797 # hc
  8. mass 6 15.99940 # o_1
  9. mass 7 15.99940 # o_2
  10. mass 8 15.99940 # oc
  11. # Potentials
  12. pair_style lj/class2/coul/long ${cutoff} ${charge_cutoff} # 9.5
  13. bond_style class2
  14. angle_style class2
  15. dihedral_style class2
  16. improper_style class2
  17. pair_modify mix sixthpower tail yes
  18. special_bonds lj/coul 0 0 1
  19. # Pair Coeffs
  20. pair_coeff 1 1 0.05400 4.01000 # c,c
  21. pair_coeff 2 2 0.12000 3.30800 # c_0,c_0
  22. pair_coeff 3 3 0.12000 3.81000 # c_1,c_1
  23. pair_coeff 4 4 0.06400 4.01000 # cp,cp
  24. pair_coeff 5 5 0.02000 2.99500 # hc,hc
  25. pair_coeff 6 6 0.26700 3.30000 # o_1,o_1
  26. pair_coeff 7 7 0.24000 3.42000 # o_2,o_2
  27. pair_coeff 8 8 0.24000 3.53500 # oc,oc
  28. ......

data文件详情如下:

  1. LAMMPS output created by EMC v9.4.4, build Aug 20 2021 07:52:52
  2. 7140 atoms
  3. 7185 bonds
  4. 13760 angles
  5. 19981 dihedrals
  6. 8520 impropers
  7. 8 atom types
  8. 12 bond types
  9. 20 angle types
  10. 26 dihedral types
  11. 15 improper types
  12. 0 60.21913826 xlo xhi
  13. 0 60.21913826 ylo yhi
  14. 0 60.21913826 zlo zhi
  15. Masses
  16. 1 12.01115 # c
  17. 2 12.01115 # c_0
  18. 3 12.01115 # c_1
  19. 4 12.01115 # cp
  20. 5 1.00797 # hc
  21. 6 15.99940 # o_1
  22. 7 15.99940 # o_2
  23. 8 15.99940 # oc
  24. Atoms
  25. 1 1 6 -0.5310 42.9929423661 30.7556164498 8.4423851246 # o_1
  26. 2 1 3 0.7200 41.8686922004 31.1522224122 8.7061678569 # c_1
  27. 3 1 4 -0.0180 40.5796544532 30.6967084270 8.0664396047 # cp
  28. 4 1 4 -0.1268 40.6052652233 29.6647885167 7.1066772045 # cp
  29. 5 1 5 0.1268 41.5743523233 29.1512023110 6.8297214122 # hc
  30. ......

将data导入ovito中:
image.png