InverseAngleInit: Cutoff not reached for [c:cp:cp]

Hello everyone,

I am using EMC to build an initial configuration for an epoxy resin crosslinking simulation in LAMMPS (using DDCC Xlinker). My system consists of DGEBA and 4,4’-Dithiodianiline (AFD) using the PCFF force field.

I am running EMC on Windows (version 9.4.4, build Jul 21 2026).

When I try to build the system, EMC crashes at 0% during the building phase with the following error:

Error: core/types/inverse/angle.c:462 InverseAngleInit:
       Cutoff not reached for [c:cp:cp].
       Program aborted.

What I found out so far:

  • The crash happens mathematically whenever there is an aliphatic carbon attached to an aromatic ring (e.g., the quaternary carbon in DGEBA, or even a simple Toluene molecule: Cc1ccccc1).

  • Molecules without this specific connection, like pure Benzene or AFD (which has N and S attached to the aromatic rings, but no aliphatic C), build perfectly without any errors.

  • If I temporarily comment out the #quartic_angle parameter for c cp cp inside pcff.frc, EMC bypasses the crash and builds the structure successfully (though obviously, the parameter is missing for LAMMPS).

  • Setting the density very low (e.g., density 0.1) is necessary to prevent steric clashes for the epoxy rings, but it does not prevent this specific InverseAngleInit crash.

  • I noticed a similar issue reported recently for [c:c_1:o_1] in the same Windows build, which was suspected to be a compiler/math bug on Windows.

Additionally, once the [c:cp:cp] issue is bypassed, the parser complains about missing angle parameters for the epoxy ring attached to the aliphatic chain (e.g., [c:o3e:c3h]). It seems PCFF is missing some parameters for substituted epoxies.

I’ll attach my .esh file:

ITEM		OPTIONS

replace		true
mass		true
number      true
#ntotal		45000
density		0.55
field		pcff
charge		true
build_dir	.
#radius		6 
#emc_execute 	true

ITEM		END

ITEM	GROUPS
dgeba		CC(C)(C1=CC=C(C=C1)OCC2CO2)C3=CC=C(C=C3)OCC4CO4
afd		    C1=CC(=CC=C1N)SSC2=CC=C(C=C2)N
cross_mol	C1=CC=CC=C1OCC(O)CNC2=CC=CC=C2
ITEM	END

ITEM	CLUSTERS
dgeba		dgeba,685
afd		    afd,411
cross_mol	cross_mol,1
ITEM	END

Is there a proper way to fix the Cutoff not reached error on Windows without switching to WSL/Linux? And how should I properly handle the missing [c:o3e:c3h] parameters for DGEBA in PCFF?

Also with an older version of EMC (from March 2024), this exact same script and system built perfectly with zero issues. The problem seems to be a regression introduced in this newer July 2026 Windows build.

Thank you in advance for your help!

Dear user,

Thank you for reported this issue. A similar issue was reported under [InverseAngleInit: Cutoff not reached for [c:c_1:o_1] in EMC 9.4.4 20260701]. Unfortunately, the reported issue did not materialize on my Windows virtual machine. It took me a while to find actual Windows hardware to reconstitute the issue. It turned out to be a particular way in which Windows hardware treats rounding off. I recoded EMC such that rounding off is treated the same on all supported platforms. I successfully tested this new version with the example as provided above. I uploaded new versions of EMC v9.4.4 (20261009) to https://montecarlo.sourceforge.net/.