Missing opls-aa parameters

Hi all,

I’m a very new user to EMC, and I’m trying to build a TPU polymer using opls-aa force field and generate lammps input files. Below is the chemical formula of my polymer:
6fa00f81aac5c6d92423a13c66c31964

But when I tried to use EMC, I got the following errors:
6b48652040ac45c6c805aa4f11c11d22

I found it really confusing, and I have checked the 2024/opls-aa.prm, and what I found were:

c4: sp3 carbon
h1co: hydrogen in aldehyde and formamide
o2s: oxygen in esters

I found it really confusing, is that opls-aa does not have the corresponding parameters? while these atoms and the chemical environments seem to be quite common to me? I don’t know if it is wrong with my esh file:

ITEM	OPTIONS

project     TPU
field		opls-aa
auto        true
ntotal		130
density     0.1
replace		true

ITEM	END

# Groups

ITEM	GROUPS

mono		*COC(=O)CCCCC(=O)OCCOC(=O)CCCCC(=O)OCCOC(=O)CCCCC(=O)OCCOC(=O)CCCCC(=O)OCCOC(=O)NC1=CC=C(CC2=CC=C(NC*=O)C=C2)C=C1,1,mono:2
methyl      *C,1,mono:1,1,mono:2

ITEM	END

# Clusters

ITEM	CLUSTERS

poly		alternate	1

ITEM	END

# Polymers

ITEM	POLYMERS

poly
1		mono,2,methyl,2

ITEM	END

The SMILES I write is COC(=O)CCCCC(=O)OCCOC(=O)CCCCC(=O)OCCOC(=O)CCCCC(=O)OCCOC(=O)CCCCC(=O)OCCOC(=O)NC1=CC=C(CC2=CC=C(NC=O)C=C2)C=C1, no idea if this is the problem, really confused. Could anyone help me please? Many thanks!

Dear user,

The types as described are not necessarily strange. I do think you have a mistake in your repeat unit, which makes your chemistry somewhat strange. I took the liberty of rewriting your original SMILES, in which I use the EMC extension ()4 to refer to 4 repetitions. The repeat unit you quote is

*(COC(=O)CCCCC(=O)OC)4CC(=O)Nc1ccc(cc1)Cc2ccc(cc2)NC(=O)*

while – in my opinion – I would assume the following

*(COC(=O)CCCCC(=O)OC)4CC(=O)Nc1ccc(cc1)Cc2ccc(cc2)NC(=O)C*

might be correct. This assumption is based on your ester consisting of adipic acid

OC(=O)CCCC(C=O)O

and ethylene glycol

OCCO

This implies, that there should be two carbons between ester and urethane groups and not one, as it would be in your case. Additionally, I would also assume, that a simple methyl group as terminator would not be chemically appropriate in the case of a polyurethane. A polyester as urethane capping group ending in an alcohol would be my bet.

Having said that – with the suggested chemistry – it seems a torsion is missing for {c3am, c4, c4oe, o2s}. You can add this torsion in a more general way by adding the following

c*	c4	c4	o2	1.711	1	0	-0.5	2	0	0.663	3	0

to the ITEM TORSION_AUTO section in opls-aa.prm.

The slightly altered .esh I used, is given by

# Options section

ITEM	OPTIONS

field		opls-aa
#field_debug	reduced
#field_torsion	warn
#field_increment	warn

#ntotal		130
number		true
density		0.1
focus		true

replace		true
pdb_licorice	true
emc_execute	true

ITEM	END	# OPTIONS

# Groups section

ITEM	GROUPS

mono		*(COC(=O)CCCCC(=O)OC)4CC(=O)Nc1ccc(cc1)Cc2ccc(cc2)NC(=O)C*, &
		1,mono:2

term		*COC(=O)CCCCC(=O)OCCO, &
		1,mono:1, 1,mono:2

ITEM	END	# GROUPS

# Clusters section

ITEM	CLUSTERS

poly		alternate, 1

ITEM	END	# CLUSTERS

# Polymers section

ITEM	POLYMERS

poly
1		mono,2, term,2

ITEM	END	# POLYMERS

Please note that – instead of setting the number of total sites – you can use the option number true to build exactly one cluster.

I also added three commented out field settings with which you can investigate where what types are missing. field_debug reduced provides a reduced output of the typing process, field_torsion warn produces warnings for missing torsions but does not make the typing process stop, and field_increment warn produces warnings for the partial charge assignment process, conversely setting the associated bond increments to zero without stopping the typing process.

WARNING: All of these settings should only be used to debug and not for production!

Dear Pieter,

Thank you so much for your reply, really sorry for this late response. I tried the new esh file, but strangely still it indicates that the increment parameters are missing:

And this is the full esh file I used (only when I copied the first part of the polymer template file can I run the esh file):

#!/usr/bin/env emc.pl

# Options section

ITEM	OPTIONS

field		opls-aa
#field_debug	reduced
#field_torsion	warn
#field_increment	warn

#ntotal		130
number		true
density		0.1
focus		true

replace		true
pdb_licorice	true
emc_execute	true

ITEM	END	# OPTIONS

# Groups section

ITEM	GROUPS

mono		*(COC(=O)CCCCC(=O)OC)4CC(=O)Nc1ccc(cc1)Cc2ccc(cc2)NC(=O)C*, &
		1,mono:2

term		*COC(=O)CCCCC(=O)OCCO, &
		1,mono:1, 1,mono:2

ITEM	END	# GROUPS

# Clusters section

ITEM	CLUSTERS

poly		alternate, 1

ITEM	END	# CLUSTERS

# Polymers section

ITEM	POLYMERS

poly
1		mono,2, term,2

ITEM	END	# POLYMERS

I have also added the new torsion paramters in the opls-aa.prm file, and I also tried those three debug commands, and they produce very long files and I don’t really understand how to extract information, and I have attached the last few sentences of each commands (only the last command seems to be alright, and it sets the two increment both to zero, and as I’m a new user I can only post three figures in total, so here I just posted the error massage of the first command, while the messages of the first and the second command are actually similar, indicating that two increment parameters are missing):

field_debug reduced:

field_increment warn:
f9b4b063fff3a58dae2689536ec2bd6

I don’t know what I can do with it now and I really wish it to work, can you help me if there are these increment parameters, or can I use other similar parameters available in the prm file? Many many thanks!

Best wishes,
Lingjun

Dear Lingjun,

Strange… I am not able to reproduce your case. To which opls-aa file did you add the line: 2012/opls-aa or 2024/opls-aa? The line was intended to be added to the latter, not the former. If you added the line to the latter, the observed warnings can possibly be ignored since the reported bond increment warnings result from all possible recombinations. You would have to check if the reported bond increments are not occurring in your simulation. For completeness sake, I am producing the following output with the script out of your last message:

setup.emc.gz (22.1 KB)
setup.pdb.gz (6.1 KB)
setup.psf.gz (8.0 KB)
setup.vmd (1.4 KB)

It sounds like you are not creating type c4oe where you should – as where I am.