foyer
foyer copied to clipboard
Properly processing urey bradley terms between openmm and parmed
Based on the current workflow, converting an mbuild Compound and foyer Forcefield to an OpenMM System does not distinguish HarmonicBondForce with AmoebaUreyBradleyForce (the openmm system lumps 1-3 bonds and 1-2 bonds into the same HarmonicBondForce). However, ParmEd is able to distinguish 1-3 bonds and 1-2 bonds in structure.bonds and structure.urey_bradleys when ParmEd creates a Structure from an OpenMM Topology+System.
Parmed loops through the OpenMM System.getForces(). If HarmonicBonds have already been processed, then parmed will process any subsequent HarmonicBonds as urey bradleys.
The current idea is to separate out the 1-3 and the 1-2 bonds into different HarmonicBondForces in the OpenMM system after this line