Feature #2774

Refactor shell code into its own integrator

Added by David van der Spoel over 2 years ago. Updated about 1 year ago.

Target version:


The shell and normal-mode code is hard to understand and need to be refactored. If it needs to be tightly coupled to force calculation then we need to decouple it. For example, rerun, minimize and tpi have all been implemented in their own integrator loop, and shells could do likewise. In that case there would not be an additional layer of functions wrapping do_force to understand and maintain.

Associated revisions

Revision 216a992a (diff)
Added by David van der Spoel about 2 years ago

Remove buggy debug output.

Code leftover from testing the SW model with model specifics

Part of #2774

Change-Id: Ida59dbe1b23672d377e834f199c567d4a51aa0b9

Revision e03f7387 (diff)
Added by Prashanth Kanduri almost 2 years ago

Move shellfc code to the mdrun module

This code was previously in mdlib and made use of the force
calculation routines. The introduction of the forceschedules
module (Patch 9363) introduces a cyclic dependency.

Therefore, this clean up is important to ensure that all
users of the Force Schedules are present in a single module.

Related: #2574, #2774

Change-Id: I19563f0f6e7985d198a2497a799c5377b24a1419


#1 Updated by David van der Spoel over 2 years ago

  • Tracker changed from Bug to Feature
  • Affected version deleted (2018.4)

#2 Updated by Gerrit Code Review Bot about 2 years ago

Gerrit received a related patchset '1' for Issue #2774.
Uploader: David van der Spoel ()
Change-Id: gromacs~master~Ida59dbe1b23672d377e834f199c567d4a51aa0b9
Gerrit URL:

#3 Updated by Prashanth Kanduri about 2 years ago

We are trying to move force calculation schedules into its own module for a longer term goal of being able to express modular schedules. #2574

We noticed that the shell code (which exists in mdlib) is calling the do_force(...) function. This movement is therefore introducing a cyclic dependency. A force calculation schedule uses components of the mdlib module. If the shell code is also in the same module, then it would use components from forceschedules module.

We were wondering if it could be considered to move the shell code into its own module.

Gerrit URL:
Change-Id: I7113b8cdef25d12d4d866ac1c1a2b7e198d49d95

#4 Updated by David van der Spoel about 2 years ago

The plan would be to move this at the same level as other md integrators. The difference being that this code iterates the call to the force routines until convergence. Therefore it is not clear to me how hard this is going to be.

#5 Updated by Gerrit Code Review Bot almost 2 years ago

Gerrit received a related patchset '1' for Issue #2774.
Uploader: Prashanth Kanduri ()
Change-Id: gromacs~master~I19563f0f6e7985d198a2497a799c5377b24a1419
Gerrit URL:

#6 Updated by Paul Bauer about 1 year ago

  • Target version changed from 2020 to 2021

I don't know if this has been resolved now, so bumped

Also available in: Atom PDF