Project

General

Profile

Bug #2647

Removing CGLO_TEMPERATURE flag in MD Setup leads to fatal error because of missing bonded interactions

Added by Pascal Merz about 1 year ago. Updated 12 months ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
mdrun
Target version:
Affected version - extra info:
(and probably others, didn't check for details)
Affected version:
Difficulty:
uncategorized
Close

Description

The first compute_globals() call in the setup phase of do_md() includes the flag for temperature calculation:

cglo_flags = (CGLO_INITIALIZATION | CGLO_TEMPERATURE | CGLO_GSTAT
                  | (EI_VV(ir->eI) ? CGLO_PRESSURE : 0)
                  | (EI_VV(ir->eI) ? CGLO_CONSTRAINT : 0)
                  | (continuationOptions.haveReadEkin ? CGLO_READEKIN : 0));

When removing this (e.g. in the scope of #1868, rerun without velocities) and using DD, the run crashes due to checkNumberOfBondedInteractions() with an error message like the following:

Not all bonded interactions have been properly assigned to the domain decomposition cells
A list of missing interactions:
exclusions of 0 missing 1
-------------------------------------------------------
Program: gmx mdrun, version 2019-dev-20180305-27c754e-dirty
Source file: src/gromacs/domdec/domdec_topology.cpp (line 437)
MPI rank: 0 (out of 20)
Fatal error:
1 of the 0 bonded interactions could not be calculated because some atoms
involved moved further apart than the multi-body cut-off distance (0.606042
nm) or the two-body cut-off distance (1.196 nm), see option -rdd, for pairs
and tabulated bonds also see option -ddcheck

This is likely due to the totalNumberOfBondedInteractions variable not being set because the relevant call to global_stat() is not reached in compute_globals() if neither of CGLO_TEMPERATURE, CGLO_STOPCM, CGLO_PRESSURE, CGLO_CONSTRAINT, CGLO_ENERGY are set.

Associated revisions

Revision 564a67c0 (diff)
Added by Pascal Merz about 1 year ago

Make CGLO_CHECK_NUMBER_OF_BONDED_INTERACTIONS require global communication

Currently, giving the CGLO_CHECK_NUMBER_OF_BONDED_INTERACTIONS flag, but
none of CGLO_TEMPERATURE, CGLO_STOPCM, CGLO_PRESSURE, CGLO_CONSTRAINT, or
CGLO_ENERGY does not prompt global_stat() in compute_globals(). This has
currently no implications because this specific flag is never set without
at least one of the others, but it is not intuitive and becomes a problem
when setting up a rerun without temperature calculation. This change fixes
this.

Refs #1868, #2647

Change-Id: I53b4dd9a1b7b273f1ce99e8e8c78bf386a693842

History

#1 Updated by Gerrit Code Review Bot about 1 year ago

Gerrit received a related patchset '1' for Issue #2647.
Uploader: Pascal Merz ()
Change-Id: gromacs~master~I53b4dd9a1b7b273f1ce99e8e8c78bf386a693842
Gerrit URL: https://gerrit.gromacs.org/8405

#2 Updated by Mark Abraham about 1 year ago

  • Category set to mdrun
  • Status changed from New to Resolved
  • Assignee set to Pascal Merz

#3 Updated by Mark Abraham about 1 year ago

Is there further action needed here?

#4 Updated by Mark Abraham about 1 year ago

  • Status changed from Resolved to Blocked, need info

#5 Updated by Paul Bauer 12 months ago

  • Status changed from Blocked, need info to Closed

Also available in: Atom PDF