Feature #2774
Refactor shell code into its own integrator
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
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.
Change-Id: I19563f0f6e7985d198a2497a799c5377b24a1419
History
#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 (spoel@xray.bmc.uu.se)
Change-Id: gromacs~master~Ida59dbe1b23672d377e834f199c567d4a51aa0b9
Gerrit URL: https://gerrit.gromacs.org/9129
#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: https://gerrit.gromacs.org/#/c/9195/
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 (kanduri@cscs.ch)
Change-Id: gromacs~master~I19563f0f6e7985d198a2497a799c5377b24a1419
Gerrit URL: https://gerrit.gromacs.org/9368
#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
Remove buggy debug output.
Code leftover from testing the SW model with model specifics
hardcoded.
Part of #2774
Change-Id: Ida59dbe1b23672d377e834f199c567d4a51aa0b9