gmso
gmso copied to clipboard
Add bond and angle constraint information
Depending on the force field, bonds and angles can sometimes be fixed. Currently, we are unable to define whether or not these connections are fixed in the Foyer XML. Since bond and angle constraints are usually handled in input files that are not handled by MoSDeF (at least in gromacs and lammps), I'm not sure if we need much support for this in our Connections
class. But I think it would be good to have this information in the XML schema, making it easier for users to understand the implementation of the force field.
One option is to add these as potential templates. For example, a fixed bond potential would only have the distance as a parameter (rather than distance and force constant). The engine specific writers could then decide how to handle such a scenario. For Cassandra, where fixed bonds are supported we would just write with that bond style. For MD softwares that generally don't support fixed potentials (but implement them via constraints), options include writing some arbitrary large force constant to the file and throwing a warning, or perhaps even throwing an error.