Investigate needs for an interface to PLUMED
It would be a great advantage to both developers and users to have PLUMED interact with GROMACS through a proper API instead of patching GROMACS. To enable this some extensions to the MDModules and/or ForceProvider API are needed.
Needs:
- Access to the intra-replica communicator. This is part of the legacy struct t_commrec (which should be refactored) and available at MDModule setup callback and in the ForceProvider calculateForces callback.
- The inter-replica communicator is currently not available to Modules. We should make this available to MDModules.
- All local coordinates are available already (and used in the current PLUMED patch)
- One can have one or more LocalAtomSet atom sets. These provide the locally available coordinates of a global set passed at creation of the LocalAtomSet object.
- Linking dynamically with a PLUMED library.
- Checkpointing needs to be in sync with GROMACS. One can look at how Colvars solved this.
- More needs ... ?