EMC: missing rule for {group, site} = {term, 0}

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

Dear User,

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

Dear User,

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.

Dear Prof. Pieter,
Thank you for your kind suggestions. I will try it and find the solution path.
Best regards,
LT