Error: core/systems.c:476 SystemsInit: Systems not defined

Hello all,

I’m using EMC to build Lammps file (data and params) to run a simulation. First, I’m trying a simple propane example.
My script:

#!/usr/bin/env emc_setup.pl

Chemistry file new style

Options

ITEM OPTIONS

replace true
field opls-ua.prm
ntotal 10000
mass true
density 1
pressure 1
temperature 350

ITEM END

groups

ITEM GROUPS

molecule CCC

ITEM END

I’m executing with perl emc_setup.pl propane.esh and this way I’m getting build.emc file and propane.in (lammps script).
Info: reading script from “./propane.esh”

Info: project = propane

Info: ntotal = 10000

Info: direction = x

Info: shape = 1

Info: force field type = “opls”

Info: force field name = “opls/2012/opls-ua”

Info: force field location = “~/projects/def-ronald/cassiag/v9.4.4/field”

Info: build for LAMMPS script in “…/build”

Info: creating LAMMPS run script “propane.in”

Info: adding pressure sampling

Info: creating EMC build script “build.emc”

When I’m executing build.emc to finally get data and params files (I’m using " ./emc_linux_x86_64 build.emc 2>&1 | tee build.out"
It is appearing this error message:
“Info: script v1.0 started at Mon Jan 22 13:00:41 2024
Info: variables = {seed → -1, ntotal → 10000, fshape → 1, output →
“propane”, field → “opls/2012/opls-ua”, location1 →
“~/projects/def-ronald/cassiag/v9.4.4/field/”, nav → 0.6022141179,
temperature → 350, radius → 5, nrelax → 100, weight_nonbond →
0.0001, weight_bond → 0.0001, weight_focus → 1, cutoff → 9.5,
charge_cutoff → 9.5, kappa → 4, chem_molecule → “CCC”}
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 → opls-ua.prm, mode → opls, style → none, name →
{”~/projects/def-ronald/cassiag/v9.4.4/field/opls/2012/opls-ua.prm",
“~/projects/def-ronald/cassiag/v9.4.4/field/opls/2012/opls-ua.top”},
compress → false, error → true, debug → false, check → {
atomistic → true, charge → true}}
Info: importing ‘~/projects/def-ronald/cassiag/v9.4.4/field/opls/2012/opls-ua.prm’
Info: groups = {ngroups → 1, group →
{id → molecule, chemistry → “CCC”, depth → 8, charges →
forcefield, charge → 0, terminator → false}, ndeletes → 0,
npolymers → 0}
Info: field = {mode → apply, style → none, error → true, debug → false,
check → {atomistic → true, charge → true}}
Info: applying ‘~/projects/def-ronald/cassiag/v9.4.4/field/opls/2012/opls-ua.prm’
Info: variables = {lg_molecule → 3, mg_molecule → 44.0962, ntotal → 0,
mtotal → 0}
Info: simulation = {units → {permittivity → 1, seed → seed}, types → {
coulomb → {pair → {active → true, cutoff → charge_cutoff}}}}
Info: put = {name → “propane”, compress → true, detail → 3}
Info: pdb = {name → “propane”, compress → true, extend → false, mode →
put, system → 0, length → auto, forcefield → opls, atomistic →
full, depth → auto, charges → false, detect → false, atom → index,
residue → index, segment → index, rank → false, hexadecimal →
false, cut → false, pbc → true, map → false, unwrap → clusters,
rigid → true, fixed → true, vdw → false, connectivity → false,
crystal → false, element → auto, parameters → false, flag → {
charge → true, map → true, pbc → true, geometry → true}}
Error: core/systems.c:476 SystemsInit:
Systems not defined.
Program aborted.

Which system is not defined?? I don’t know how to fix it!

Dear user,

You are missing the clusters section in your input script, which means your simulations consists of nothing at all, hence your simulation system not being defined. The groups section defines the chemistry only — and not the actual molecules — for either polymers (for which it defines repeat units), or clusters (for which it defines the molecular chemistry). The clusters section defines the actual polymers or clusters (the latter equals molecules for atomistic systems).

ITEM OPTIONS

replace true
field opls-ua.prm
ntotal 10000
mass true
density 1
pressure 1
temperature 350

ITEM END

ITEM GROUPS

molecule CCC

ITEM END

ITEM CLUSTERS

mol molecule,1

ITEM END

Thank you si much for your help!

I’m running and when the data file is generated, it is coming with different atoms that suppose to be (it is suppose to be carbon and hydrogen)

Masses

   1   14.02680  # c2
   2   15.03470  # c32

the data file and params are generated but it is the wrong atoms! it is because of a wrong name that I’m using (molecule), because I tried use propane, propyl, nothing worked!

the data file and parameters are generated, but they are the wrong atoms! It’s because of a wrong name that I’m using (molecule), because I tried using propane, propyl, nothing worked!

Is there any documentation where I can find these molecule name variables?

thank you

The code correctly types your system. You are using a united atom force field (OPLS-UA), which in the case of propane, results in two types: c2 and c32. Molecule names do not appear in the LAMMPS data file, since the format of the latter allows numerical entries and comments only. Furthermore, molecule names are only an aid to the user to manage the definition of their simulation. They have no influence on typing. If you are looking for hydrogens in your output, I would suggest you use an all-atom force field, e.g. PCFF, CHARMM CGENFF, or OPLS-AA.