最近,我试图建模聚合物复合材料,最初使用MS我很生气。程序一动不动就崩溃了,系统一大就跑不动了,几分钟跑1%。最后,我不得不改变方法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如下:
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=CC=C(C(C)=O)C=C)=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=CC=C(C(C)=O)C=C)=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中: