Fix COMM removal on part of the system
authorBerk Hess <hess@kth.se>
Fri, 12 Jan 2018 14:23:40 +0000 (15:23 +0100)
committerMark Abraham <mark.j.abraham@gmail.com>
Thu, 18 Jan 2018 13:44:26 +0000 (14:44 +0100)
COMM removal requested for part of the system acted on the whole
system.

Fixes #2381

Change-Id: Ic36ce0d261dd9b5aeceef1803f6a97e6a9ca8716

src/gromacs/mdlib/mdatoms.cpp

index b9633373c6edb248c65c0972bf12254216376d58..daffeaf7eacb0b1d95fe5ab8c706fe522e896f75 100644 (file)
@@ -3,7 +3,7 @@
  *
  * Copyright (c) 1991-2000, University of Groningen, The Netherlands.
  * Copyright (c) 2001-2004, The GROMACS development team.
- * Copyright (c) 2012,2013,2014,2015,2016,2017, by the GROMACS development team, led by
+ * Copyright (c) 2012,2013,2014,2015,2016,2017,2018, by the GROMACS development team, led by
  * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
  * and including many others, as listed in the AUTHORS file in the
  * top-level source directory and at http://www.gromacs.org.
@@ -89,7 +89,14 @@ makeMDAtoms(FILE *fp, const gmx_mtop_t &mtop, const t_inputrec &ir,
     mdAtoms->mdatoms_.reset(md);
 
     md->nenergrp = mtop.groups.grps[egcENER].nr;
-    md->bVCMgrps = (mtop.groups.grps[egcVCM].nr > 1);
+    md->bVCMgrps = FALSE;
+    for (int i = 0; i < mtop.natoms; i++)
+    {
+        if (ggrpnr(&mtop.groups, egcVCM, i) > 0)
+        {
+            md->bVCMgrps = TRUE;
+        }
+    }
 
     /* Determine the total system mass and perturbed atom counts */
     double                     totalMassA = 0.0;