Hi guys,
I builded polymer with opls force fied, but the EMC outputed a error showing “missing rule”. My .*esh file is posted in the following. I hope someone can help me solve this problem. Thank you!
p.s. I wanna know how can I still obtained the *data and .*param files (even umcomplete files) when EMC showing error or warning.
ITEM OPTIONS
replace true
field opls
density 0.1
ntotal 41
field_increment warn
field_debug reduced
ITEM END
# Groups
ITEM GROUPS
mono *C(=O)Nc1ccc(cc1)Cc2ccc(cc2)NC(=O)OCCO*,2,mono:1
term *H,1,mono:1,1,mono:2
ITEM END
# Clusters
ITEM CLUSTERS
poly alternate 1
ITEM END
# Polymers
ITEM POLYMERS
poly
1 mono,1,term,2
ITEM END
Unfortunately, EMC cannot produce incomplete output (i.e. .data and .params files). EMC needs a complete force field for building, since EMC uses the energetics as produced by the force field to create the built configuration.
Hi Prof. Pieter,
Thank you for your kind response. I have try several methods but they do not work. Can help check the my *esh file and give me some suggestions to sovle this problem?
Best regards,
LT
Unfortunately, OPLS-AA does not have any rules for the end of the molecule you are trying to type. In essence, you are trying to build the following
C(=O)Nc1ccc(cc1)Cc2ccc(cc2)NC(=O)OCCO
as a molecule. This represents a polyurethane repeat unit. I would hazard to say, that your terminating groups in reality are not represented by a simple hydrogen. Your terminations would depend on the catalyst used to start the reaction. Alternatively, I would rewrite the repeat unit slightly to circumvent a current EMC quirk:
mono *COC(=O)Nc1ccc(cc1)Cc2ccc(cc2)NC(=O)OC*, 1, mono:2
term *CO, 1, mono:1, 1, mono:2
This does not take away from the fact, that currently certain rules are and a torsion is missing for this example. Through similarity, the missing torsion could be taken as
* c n * 0 1 0 7 2 0
which should be added to ${EMC_ROOT}/field/opls/2012/opls-aa.define, after which convert.sh should be executed in the same directory. The resulting simulation is not charge neutral though. Charge neutrality can be obtained by adding the correct rules, which would take some research. You can, however, generate output by setting system_charge to false in the options section of your .esh.