Trying to get polyurethane initial structure

Hey I am trying to run a program to get initial configuration for polyurethane, but it is not working I don’t know what I am doing wrong or if I need to change something which I doubt, for other structures I get what I need here is my code

pressure 1.0
lammps true

ITEM END

ITEM GROUPS
polyurethane CCOC(=O)Nc2ccc(Cc1ccc(NC(=O)OCC)cc1)cc2,1,polyurethane:2
terma *C,1,polyurethane:1
termb *C,1,polyurethane:2

ITEM END

ITEM CLUSTERS

polymer block,50

ITEM END

ITEM POLYMERS
polymer
1 polyurethane,10,terma,1,termb,1

ITEM END

theses are the error I am finding

-MacBook-Pro butene16 % emc_macos build.emc
(* EMC: Enhanced Monte Carlo simulations *)

version 9.4.4, build Aug 8 2023 07:32:32, date Mon Feb 12 00:42:58 2024

valid until Jul 31, 2024

Info: script v1.0 started at Mon Feb 12 00:42:58 2024
Info: variables = {seed β†’ -1, ntotal β†’ 10000, fshape β†’ 1, output β†’
β€œbutene16”, field β†’ β€œpcff/pcff”, location1 β†’
β€œ/Applications/v9.4.4/field/”, nav β†’ 0.6022141179, temperature β†’
300, radius β†’ 5, nrelax β†’ 100, weight_nonbond β†’ 0.0001, weight_bond
β†’ 0.0001, weight_focus β†’ 1, cutoff β†’ 9.5, charge_cutoff β†’ 9.5,
kappa β†’ 4, density1 β†’ 1, lprevious β†’ 0, lphase β†’ 0, f_polymer β†’
50, chem_polyurethane β†’ β€œCCOC(=O)Nc2ccc(Cc1ccc(NC(=O)OCC)cc1)cc2”,
chem_terma β†’ β€œCCOC(=O)Nc2ccc(Cc1ccc(NC(=O)OCC*)cc1)cc2”, chem_termb
β†’ β€œCCOC(=O)Nc2ccc(Cc1ccc(NC(=O)OCC)cc1)cc2"}
Info: output =
{detail β†’ 3, wide β†’ false, expand β†’ false, math β†’ true, reduced β†’
false, info β†’ true, strict β†’ true, warning β†’ true, message β†’ true,
debug β†’ false, exit β†’ true, ignore β†’ false}
Info: field = {id β†’ pcff, mode β†’ cff, style β†’ none, name β†’
{β€œ/Applications/v9.4.4/field/pcff/pcff.frc”,
β€œ/Applications/v9.4.4/field/pcff/pcff_templates.dat”}, compress β†’
false, error β†’ true, debug β†’ false, check β†’ {atomistic β†’ true,
charge β†’ true}}
Info: importing β€˜/Applications/v9.4.4/field/pcff/pcff.frc’
Warning: duplicate field.bond entry 40 [c:c] omitted.
Warning: duplicate field.bond entry 51 [c:h] omitted.
Warning: duplicate field.bond entry 62 [c:o_2] omitted.
Warning: duplicate field.bond entry 176 [c=:c=1] omitted.
Warning: duplicate field.bond entry 328 [c_1:o_1] omitted.
Warning: duplicate field.bond entry 364 [cp:cp] omitted.
Warning: duplicate field.bond entry 365 [cp:cp] omitted.
Warning: duplicate field.bond entry 367 [cp:h] omitted.
Warning: duplicate field.bond entry 689 [o:p] omitted.
Info: groups = {ngroups β†’ 3, group β†’ {
{id β†’ polyurethane, chemistry β†’
β€œCCOC(=O)Nc2ccc(Cc1ccc(NC(=O)OCC)cc1)cc2”, depth β†’ 8, charges
β†’ forcefield, charge β†’ 0, terminator β†’ false, nconnects β†’ 4,
connects β†’ {
{source β†’ $end1, destination β†’ {index β†’ polyurethane, site β†’
$end2}},
{source β†’ $end1, destination β†’ {index β†’ terma, site β†’
$end1}},
{source β†’ $end2, destination β†’ {index β†’ polyurethane, site β†’
$end1}},
{source β†’ $end2, destination β†’ {index β†’ termb, site β†’
$end1}}}},
{id β†’ terma, chemistry β†’
"CCOC(=O)Nc2ccc(Cc1ccc(NC(=O)OCC
)cc1)cc2”, depth β†’ 8, charges β†’
forcefield, charge β†’ 0, terminator β†’ false, nconnects β†’ 1,
connects β†’
{source β†’ $end1, destination β†’ {index β†’ polyurethane, site β†’
$end1}}},
{id β†’ termb, chemistry β†’
β€œ*CCOC(=O)Nc2ccc(Cc1ccc(NC(=O)OCC)cc1)cc2”, depth β†’ 8, charges β†’
forcefield, charge β†’ 0, terminator β†’ false, nconnects β†’ 1,
connects β†’
{source β†’ $end1, destination β†’ {index β†’ polyurethane, site β†’
$end2}}}}, ndeletes β†’ 0, npolymers β†’ 0}
Info: field = {mode β†’ apply, style β†’ none, error β†’ true, debug β†’ false,
check β†’ {atomistic β†’ true, charge β†’ true}, increment β†’ warn}
Info: applying β€˜/Applications/v9.4.4/field/pcff/pcff.frc’
Warning: increment pair {o_2, c-} set to zero.
Warning: increment pair {c-, na} set to zero.
Info: variables = {lg_polyurethane β†’ 45, lg_terma β†’ 46, lg_termb β†’ 46,
norm_polymer β†’ 1, l_polymer β†’ 542, mg_polyurethane β†’ 340.38225,
mg_terma β†’ 341.39022, mg_termb β†’ 341.39022, m_polymer β†’ 4086.60294,
n_polymer β†’ 50, ntotal β†’ 0, mtotal β†’ 0}
Info: simulation = {units β†’ {permittivity β†’ 1, seed β†’ seed}, types β†’ {
coulomb β†’ {pair β†’ {active β†’ true, cutoff β†’ charge_cutoff}}}}
Info: clusters = {progress β†’ none, nbodys β†’ 0, nclusters β†’ 0, ngrafts β†’ 0,
npolymers β†’ 1,
polymer β†’
{id β†’ polymer, system β†’ main, type β†’ block, niterations β†’ 1000, n
β†’ 50, groups β†’ {polyurethane, terma, termb}, weights β†’ {1, 1, 1},
nrepeat β†’ {10, 1, 1}}}
delta = {systems β†’ 1, bodies β†’ 0, clusters β†’ 50, sites β†’ 27100}
Info: field = {mode β†’ apply, style β†’ none, error β†’ true, debug β†’ false,
check β†’ {atomistic β†’ true, charge β†’ true}, increment β†’ warn}
Info: applying β€˜/Applications/v9.4.4/field/pcff/pcff.frc’
Warning: increment pair {o_2, c-} set to zero.
Warning: increment pair {c-, na} set to zero.
Warning: no torsion coefficients found for {c, c, o_2, c-}.
Warning: no torsion coefficients found for {hc, c, o_2, c-}.
Error: core/script/field/entry.c:641 ScriptFieldEntryApply:
Missing force field parameters.
Program aborted.

Dear user,

Unfortunately, due to the functionality of the text editor of this site, it is unclear to me, where exactly you have put your connecting asterisks. The editor allows for verbatim text by using three back quote at the beginning and at the end of your verbatim block.

Having said that – in more general terms – the force field you have chosen types your problem, but seems to miss certain terms. This could be due to the fact, that your SMILES is not what you think it is, or that you would need to augment the force field for the chemistry you are providing. Augmentation would mean you will need to find the parameters for the two missing torsions. Missing bond increments typically are assumed to be zero in CFF type force fields. You can force the latter by adding field_increment warn to your ITEM OPTIONS block, which assumes a zero bond increment contribution, but will warn you for doing so.

I am thinking you will need to check your SMILES, since one of your types is c-. The entry in pcff_templates.dat for this type is

type: c-
   ! c in charged carboxylate
   template: [>C[:O][:O](-*)]
end_type

type: c-
   ! c in charged carboxylate
   ! How do we indicate that the second O has nothing bonded to it ?
   ! what makes it not match COOH ?
   template: [>C[=O][-O](-*)]
end_type

which states, that the force field typed your chemistry with a carbon in a charged carboxylate (deprotonated organic acid group). Could you provide us with your verbatim .esh script? It would help in better understanding what you did.

hi many thanks for your reply, I actually have field increment warn and still doesn’t work for pcff, please find attached my latest polyurethane.esh version which is also the molecule of the screenshot, it works for trappe but I really want to do pcff.

polyurethane.esh (577 Bytes)

Dear user,

It appears to me – by manually interpreting typing rules in ./field/pcff/pcff_templates.dat, that PCFF typing rules do not include the carbon in the *OC(=O)N(H)* moiety, thus not supporting typing urethane groups. This is also the case for the compass force field. You will have to add the necessary rules and parameters, if you want to use either of these class 2 force fields. Parameters are derived by using proper quantum chemical procedures.

You can find out how rules are applied or fail by adding field_debug reduced or field_debug full to the ITEM OPTIONS section of your EMC Setup .esh.

1 Like