I am using EMC (Enhanced Monte Carlo) with the OPLS-AA/2024 force field and am attempting to incorporate fluorene (C13H10, SMILES: c1ccc2c3ccccc3Cc2c1) as a building block.
In opls-aa.top, I added the following atom typing rules:
377 c3a C FLUO - 0 ^6c(^6:c)(^6:c)(^6:c)
378 h1a H FLUO - 0 H(^4c)
In the EMC script, I defined the group and cluster:
ITEM GROUPS
fluo c1ccc2c3ccccc3Cc2c1
ITEM END
ITEM CLUSTERS
fluo fluo, 1
ITEM END
However, I am getting the following warnings and fatal error:
Warning: no rule found for {group, site} = {fluo, 0}.
Warning: no rule found for {group, site} = {fluo, 2}.
Warning: no rule found for {group, site} = {fluo, 4}.
Warning: no rule found for {group, site} = {fluo, 6}.
Error: core/fields.c:433 FieldsApply: Missing rules. Program aborted.
Are there any additional entries required in opls-aa.prm, beyond what is in .define and .top?
Thank you very much for your time and for the excellent EMC software. I would greatly appreciate any guidance.
EMC interprets force fields either in a strict or less strict way. Number of ring members in rules are ignored in the latter, while number of ring members are considered in the former case. The number of ring members are indicated by adding a carrot to a rule, as you pointed out correctly. E.g. ^6c indicates an aromatic carbon being part of a 6-membered ring.
The above structure consists out of two aromatic six membered rings and one mixed five membered ring. EMC’s interpretation of these rings can be determined by using -field_debug=reduced to obtain considered rules, which shows that carbons shared between five and six membered rings are identified as part of the smaller of the two rings. Furthermore, OPLS partial charges are different for SP3 carbons connected to aromatic rings when compared to your suggestion, as can be deduced from entries 148 and 149 in $EMC_ROOT/field/opls/2024/src/oplsaa.par,
Please note that opls-aa.define is provided for completeness sake. It is not used internally to generate the needed opls-aa.prm and opls-aa.top. The latter two can be placed in $EMC_ROOT/field/opls/2024 to be used globally.