Meeting on MDModule / ForceProvider needs, March 27, 17:00

Here is the invitation for the meeting we thought to plan for a long time. The direct reason for this is that the constant-pH method needs callbacks for integration and for modifying the charges. Some other modules might have similar or more needs. The purpose of this meeting is to see which needs there are and how we could satisfy those with minimal extensions to the module interface(s).

Berk Hess is inviting you to a scheduled Zoom meeting.

Topic: GROMACS MDModule / ForceProvider needs
Time: Mar 27, 2024 05:00 PM Stockholm

Join Zoom Meeting

Meeting ID: 672 7349 8125

One tap mobile
+46850500829,67273498125# Sweden
+46850520017,67273498125# Sweden

Dial by your location
+46 8 5050 0829 Sweden
+46 8 5052 0017 Sweden
+46 850 539 728 Sweden
+46 8 4468 2488 Sweden
+46 8 5016 3827 Sweden
+46 8 5050 0828 Sweden
Meeting ID: 672 7349 8125
Find your local number: Zoom International Dial-in Numbers - Zoom

Join by SIP
67273498125@zoom.nordu.net

From a KTH Cisco Video System you can just input 67273498125 and then the CALL-button

Join by H.323
109.105.112.236
109.105.112.235
Meeting ID: 672 7349 8125

A (short) agenda:

MDModules/ForceProvider needs for:

  • Callback for integration, are the cases which interact with the integration of the Cartesian coordinates?
  • Callback for force-field modification, in particular for “group-lambdas” needed for constant-pH
  • How to do inter-replica communication? Can this be done is a separate callback between MD steps?
  • Any other needs …

Meeting notes:

Integration callback, pass step number for use with multiple time stepping
Request for read access to forces.
So my proposition:
callback for integration, location wrt Cartesian integration is not important
Passes:

  • step number
  • read-only local forces
  • read-only dH/dlambda
  • read-only dH/dgrouplambda, locally contributions only (needs to be summed over the domain for full values)

Call-back for setting group lambdas, should trigger parameter (currently charge) updates

Inter-replica communication:
Would be nice to separate off to a separate call-back. But this means that all MDModules would likely need to use two callbacks: one for the generating the forces and one for updating the state/bias, as the state update should be consistent between non-sharing and sharing simualtion setups.
Per step inter-repl communication is needed for ensemble averaged restraints.
Proposition: have MDModules request inter-replica communication at a given interval and pass the MPI communicator at those steps (would not prevent modules from storing the communicator, but the guidelines could say to not do this)

More advanced options discussed:

  • Asynchronous walker data collection through a signal at the mdmodule callback
  • Option for read only access to forces
  • Option for total energy biasing, which leads to force scaling (force scaling could be done by GROMACS)
1 Like

I created an issue for the update callback: