In _get_dihedral_types in lammpsdata.py, the weighting factor for CHARMM dihedrals is determined as the reciprocal of the length of the list of dihedral terms for a given dihedral. This is probably done to ensure that weighting factors are not overcounted due to multiple terms in a dihedral. However, this is not how the LAMMPS documentation says the weighting factor should be used. LAMMPS says that only 0.0, 0.5, and 1.0 are options, and they are meant to correct over-counting of 1-4 LJ interactions in CHARMM force fields due to a given pair of atoms appearing in multiple different dihedrals in rings. The current method used by _get_dihedral_types can result in other values, and cannot give a weighting factor of 0.0. The intended usage of the weighting parameter is described in more detail in https://lammps.sandia.gov/doc/dihedral_charmm.html .
In
_get_dihedral_types
inlammpsdata.py
, the weighting factor for CHARMM dihedrals is determined as the reciprocal of the length of the list of dihedral terms for a given dihedral. This is probably done to ensure that weighting factors are not overcounted due to multiple terms in a dihedral. However, this is not how the LAMMPS documentation says the weighting factor should be used. LAMMPS says that only 0.0, 0.5, and 1.0 are options, and they are meant to correct over-counting of 1-4 LJ interactions in CHARMM force fields due to a given pair of atoms appearing in multiple different dihedrals in rings. The current method used by_get_dihedral_types
can result in other values, and cannot give a weighting factor of 0.0. The intended usage of the weighting parameter is described in more detail in https://lammps.sandia.gov/doc/dihedral_charmm.html .