Add support for RB torsions
Closed this issue · 0 comments
Ryckaert-Bellemans (RB) torsions are much more computationally efficient to compute than other dihedral styles, since they don't actually require the dihedral angle to be computed; they only require its cosine, which doesn't require any trigonometric function evaluations to compute. All OPLS style dihedrals can be fully converted to RB torsions. CHARMM (periodic) style dihedrals can also be converted to RB torsions, as long as their periodicity is equal to an integer with absolute value no greater than 5 and phase equal to zero or ±180°, due to trigonometric identities. Another benefit of RB torsions is that stacked RB torsions can be easily combined by adding their series coefficients together.
Support for RB torsions should be added to Cassandra, and their energies should be computed efficiently.
Cassandra should also internally convert OPLS and CHARMM dihedrals to RB torsions where possible, then combine all stacked dihedrals that are formatted as RB torsions.
All dihedrals that would always result in zero energy should be internally converted to type "none".
The comments in Cassandra indicate that support for AMBER style dihedrals was added at some point. The code currently allows AMBER style to be specified without causing an error, but Cassandra does not actually compute the energies of AMBER style dihedrals, so AMBER style should not be allowed to be specified in mcf files without an error message unless Cassandra is updated to compute their energies or internally convert them to another type.