fixed incorrect virial with virtual sites and OpenMP
authorBerk Hess <hess@kth.se>
Wed, 5 Dec 2012 15:50:30 +0000 (16:50 +0100)
committerBerk Hess <hess@kth.se>
Wed, 5 Dec 2012 15:50:30 +0000 (16:50 +0100)
The virial was incorrect with more than 1 OpenMP thread
and virtual sites crossing a box boundary.
Fixes #1060

Change-Id: Ib659f6eb7719f4808b37e828b96526587f8a0e69

src/mdlib/vsite.c

index c34685b8098d8b3b22426be1ace26e68eefb93de..e689a15cf8d448a7f37c457e573b0d2c948f75d2 100644 (file)
@@ -1540,7 +1540,14 @@ void spread_vsite_f(FILE *log,gmx_vsite_t *vsite,
             }
             else
             {
+                int i;
+
                 fshift_t = vsite->tdata[thread].fshift;
+
+                for(i=0; i<SHIFTS; i++)
+                {
+                    clear_rvec(fshift_t[i]);
+                }
             }
 
             spread_vsite_f_thread(vsite,