Skip to content
GitLab
  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
    • Switch to GitLab Next
  • Sign in / Register
  • GROMACS GROMACS
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 275
    • Issues 275
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
    • Requirements
  • Merge requests 76
    • Merge requests 76
  • Deployments
    • Deployments
    • Releases
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Container Registry
    • Infrastructure Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • Code review
    • Insights
    • Issue
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • GROMACS
  • GROMACSGROMACS
  • Issues
  • #3400
Closed
Open
Created Feb 25, 2020 by Paul Bauer@acmnpvOwner

Rerun does not calculate reciprocal energies - Redmine #3400

A student in our group found that using rerun in GROMACS 2019, neither the Coulomb nor the LJ reciprocal terms are recalculated. These energies are 0, and consequently, the potential energy is missing these terms and is off compared to the original run.

The bug can be retraced to #1868, where rerun was split off and restricted to explicitly only calculate forces and potential energies, omitting kinetic energies, virial, pressure, constraints, etc. Consequently, within do_rerun, do_force did not get the GMX_FORCE_VIRIAL flag anymore. In gmx_pme_do, called from the lower level functions within do_force, the reciprocal terms are however only calculated if GMX_FORCE_VIRIAL was originally passed. I don’t see a compelling reason why reciprocal energy terms and virial should be intimately linked, but maybe I’m overlooking a detail here.

Note that due to #2649, the GMX_FORCE_VIRIAL flag was reintroduced if GROMACS was compiled with GPU support, so GPU enabled builds are not affected by this bug.

The easy solution to fix this bug is to pass GMX_FORCE_VIRIAL in all cases. Moving forward, we should check whether these options can be disentangled.

(from redmine: issue id 3400, created on 2020-02-25 by ptmerz, closed on 2020-02-28)

  • Relations:
    • relates #1868 (closed)
    • relates #2649 (closed)
  • Changesets:
    • Revision cc055a76 on 2020-02-26T02:15:09Z:
Fix calculation of reciprocal terms in rerun

This at least temporarily fixes #3400.

Change-Id: I04d67d9bb3edbd66049573de71940e4bb7fa1ad4
Assignee
Assign to
Time tracking