Project

General

Profile

Feature #2774

Refactor shell code into its own integrator

Added by David van der Spoel 6 months ago. Updated about 2 months 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 3 months ago

Remove buggy debug output.

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

Part of #2774

Change-Id: Ida59dbe1b23672d377e834f199c567d4a51aa0b9

Revision e03f7387 (diff)
Added by Prashanth Kanduri about 1 month 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

History

#1 Updated by David van der Spoel 6 months ago

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

#2 Updated by Gerrit Code Review Bot 3 months 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 3 months 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 3 months 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 about 2 months ago

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

Also available in: Atom PDF