Project

General

Profile

Feature #2774

Refactor shell code into its own integrator

Added by David van der Spoel 4 months ago. Updated about 1 month ago.

Status:
New
Priority:
Normal
Category:
mdrun
Target version:
Difficulty:
hard
Close

Description

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 1 month ago

Remove buggy debug output.

Code leftover from testing the SW model with model specifics
hardcoded.

Part of #2774

Change-Id: Ida59dbe1b23672d377e834f199c567d4a51aa0b9

History

#1 Updated by David van der Spoel 4 months ago

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

#2 Updated by Gerrit Code Review Bot about 1 month ago

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

#3 Updated by Prashanth Kanduri about 1 month 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: https://gerrit.gromacs.org/#/c/9195/
Change-Id: I7113b8cdef25d12d4d866ac1c1a2b7e198d49d95

#4 Updated by David van der Spoel about 1 month 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.

Also available in: Atom PDF