maccallumlab / martini_openmm

GNU Lesser General Public License v3.0
49 stars 14 forks source link

Clean up handling of self-terms and exceptions #4

Closed jlmaccal closed 2 years ago

jlmaccal commented 2 years ago

We need to differentiate between the handling of exceptions, exclusions, and the reaction-field correction term. For what it's worth, I don't think that martini uses exceptions at all, so they could probably be removed. This would simplify the code a lot, but would be a bit of a nightmare if we ever needed to add them back...

The main issue is to separate out the handing of exceptions and exclusions due to the way the reaction field term works.

  1. For any exception or exclusion
    • ensure that interaction is excluded from both the LJ and ES nonbonded forces
      1. For any exception
    • ensure that a modified interaction is added to both the LJ and ES forces
    • we currently don't have the required ES force, this must be added
      1. For any exclusion
    • we don't need to do anything for the LJ component
    • we need to add the RF correction for the ES component
      1. For self-interactions
    • we need to add the RF correction