My aim is to build polynorbornene system plus Hydroxide ions and water using EMC
As I need to build different carbon types based on the linking I customized the force field as norbornene_OH.define and compiled the .top and .prm files too
as discussed in this https://matsci.org/t/how-to-define-user-force-fields-with-emc/66336
norbornene_OH.define (4.2 KB)
norbornene_OH.prm (2.1 KB)
norbornene_OH.top (923 Bytes)
the following is the setup.esh script that i have used
#!/usr/bin/env emc.pl
# Options section
ITEM OPTIONS
field_location .
field norbornene_OH
system_charge false
temperature 300
density 0.95
ntotal 2000
mass true
focus polymer
pdb_licorice true
emc_execute true
replace true
ITEM END # OPTIONS
# Groups section
ITEM GROUPS
monomer *C1C(C2C(CC1C2)CCCC[N+](C)(C)C)*, 1, monomer:2
terminator *C, 1, monomer:1, 1, monomer:2
ion [O-]
water O
ITEM END # GROUPS
# Clusters section
ITEM CLUSTERS
polymer random, 1
water water, 150
ion ion,50
ITEM END # CLUSTERS
# Polymers section
ITEM POLYMERS
polymer
1 monomer, 50, terminator, 2
ITEM END # POLYMERS
when I ran the setup.esh script I got errors like
base) amala@b00958-acad-che-reserved-device-10-24 pbbnb_OH % ./setup.esh
EMC Setup v5.2.1 (August 1, 2025), (c) 2004-2026 Pieter J. in 't Veld
Info: reading script from "setup.esh"
Info: project = setup
Info: ntotal = 2000
Info: direction = x
Info: shape = 1
Info: force field type = "opls"
Info: force field name = "norbornene_OH"
Info: force field location = "."
Info: build structures for MD script in "../build"
Info: phase1 = {polymer, water, ion}
Info: creating LAMMPS input script "setup.in"
Info: adding pressure sampling
Info: adding profile analysis
Info: creating EMC build script "build.emc"
Info: assuming mass fractions
Info: executing '/Users/amala/Downloads/v9.4.4/bin/emc_macos'
(* EMC: Enhanced Monte Carlo simulations *)
version 9.4.4, build Jul 31 2025 20:33:49, date Wed Jan 28 16:55:21 2026
valid until Jul 31, 2026
Info: script v1.0 started at Wed Jan 28 16:55:21 2026
Info: variables = {seed -> -1, ntotal -> 2000, fshape -> 1, output -> "setup",
field -> "norbornene_OH", location1 -> "./", 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 -> 0.95, lprevious -> 0,
lphase -> 0, f_polymer -> 1, f_water -> 150, f_ion -> 50, chem_monomer
-> "*C1C(C2C(CC1C2)CCCC[N+](C)(C)C)*", chem_terminator -> "*C",
chem_ion -> "[O-]", chem_water -> "O"}
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 -> norbornene_OH, mode -> opls, style -> none, name ->
{"./norbornene_OH.prm", "./norbornene_OH.top"}, compress -> false,
error -> true, debug -> false, check -> {atomistic -> true, charge ->
true}}
Info: importing './norbornene_OH.prm'
Error: core/field/opls/../rule.hh:88 FieldOplsRulePrecedence:
Type "HO" not found in line 21 of "./norbornene_OH.top".
Program aborted.
(base) amala@b00958-acad-che-reserved-device-10-24 pbbnb_OH %
Please guide me
Thanks
Amala