I’m trying to generate OPLS-UA atom types for benzene, but it’s generating them incorrectly. I’ve already tried reinstalling EMC on two machines, but the same error persists. Can anyone help me?
parameters:
Pair Coeffs
pair_coeff 1 1 0.29400 3.73000 # c4,c4
Bond Coeffs
bond_coeff 1 268.00000 1.52900 # c4,c4
Angle Coeffs
angle_coeff 1 58.35000 112.70000 # c4,c4,c4
Dihedral Coeffs
dihedral_coeff 1 0.70000 0.35000 0.05000 0.40000 0.00000 # c4,c4,c4,c4
buil.emc file:
(* EMC: Script *)
(* Created by emc_setup.pl v4.1.5, March 30, 2024
on ter abr 08 17:38:35 -03 2025 *)
(* define variables *)
variables = {
seed → -1,
ntotal → 10000,
fshape → 1,
output → “build”,
field → “opls/2012/opls-ua”,
location1 → “~/EMC-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 → 0.1,
lprevious → 0,
lphase → 0,
f_molecule → 1,
chem_molecule → “c1ccccc1”
};
output = {
debug → false,
exit → true,
info → true,
warning → true
};
(* define force field *)
field = {
id → opls-ua,
mode → opls,
name → {location1+field+“.prm”, location1+field+“.top”},
compress → false
};
(* define groups *)
groups = {
group → {
id → molecule,
depth → 8,
chemistry → chem_molecule
}
};
field = {
mode → apply,
check → {
atomistic → true,
charge → true
},
debug → false
};
(* determine simulation sizing *)
variables = {
(* lengths *)
lg_molecule → nsites(molecule),
l_molecule → lg_molecule,
norm_molecule → 1,
(* masses *)
mg_molecule → mass(molecule),
m_molecule → mg_molecule,
norm_molecule → 1,
(* sizing *)
n_molecule → f_molecule,
(* system sizing *)
ntotal → 0,
mtotal → 0
};
(* define interactions *)
simulation = {
units → {
permittivity → 1,
seed → seed
},
types → {
coulomb → {
pair → {active → true, cutoff → charge_cutoff}
}
}
};
(* clusters phase 1 *)
clusters = {
progress → none,
cluster → {
id → molecule, system → main, group → molecule, n → n_molecule}
};
field = {
mode → apply,
check → {
atomistic → true,
charge → true
},
debug → false
};
(* build phase 1 *)
types = {
opls → {
pair → {active → true, mode → repulsive}
}
};
variables = {
nphase1 → ntotal()-ntotal,
mphase1 → mtotal()-mtotal,
vphase1 → mphase1/nav/density1,
lbox → (vphase1/fshape)^(1/3),
lphase1 → fshape*lbox,
lxx → lphase1,
lyy → lbox,
lzz → lbox,
lzy → 0,
lzx → 0,
lyx → 0,
lphase → lphase1,
ntotal → nphase1,
mtotal → mphase1,
vtotal → vphase1
};
build = {
system → {
id → main,
split → false,
geometry → {xx → lxx, yy → lyy, zz → lzz,
zy → lzy, zx → lzx, yx → lyx},
temperature → temperature,
flag → {charge → true, geometry → true, map → true, pbc → true}
},
select → {
progress → list,
frequency → 1,
name → “error”,
order → random,
cluster → {molecule},
relax → {ncycles → nrelax, radius → radius},
grow → {
method → energetic,
check → all,
nbonded → 20,
ntrials → 20,
niterations → 1000,
theta → 0,
weight → {
bonded → weight_bond, nonbonded → weight_nonbond,
focus → weight_focus}
}
}
};
force = {style → none, message → nkt};
force = {style → init, message → nkt};
(* focus *)
focus = {};
(* storage *)
put = {name → output, compress → true};
pdb = {name → output, compress → true, extend → false,
forcefield → opls, detect → false, hexadecimal → false,
unwrap → true, pbc → true, atom → index, residue → index,
segment → index, rank → false, vdw → false, cut → false,
fixed → true, rigid → true, connectivity → false,
parameters → false};
lammps = {name → output, mode → put, forcefield → opls,
parameters → true, types → false, unwrap → true,
charges → true, ewald → true};