********> bugfix.61 Author: Carlos Simmerling Date: 1/17/96 Programs: Sander, Gibbs Severity: Moderate Problem: When the compiler does not automatically initialize variables to 0, an uninitialized variable can cause center of mass motion to be removed when not requested. Affects: T3D, SGI, possibly other machines. Only occurs when: 1) uninitialized variables not set to 0 2) INIT = 4 or NTCM = 0 in input. 3) One is periodicially resetting ALL the velocities in the system randomly. That is, only when NTT<0 and the necessary criteria have been met to force a rescaling. Removal of center of mass motion only occurs at the time the velocities are randomly reassigned. Fix: Make the following change to sander/runmd.f: ---------------------------------------------------------------------- *** OLD runmd.f --- NEW runmd.f *************** *** 123,128 **** --- 123,129 ---- peac = tauv0.gt.small .and. tauv.gt.small tauv = 20.455*tauv td = t + ntcmt = 0 intcm = max(nstlim/10,ntpr) if (intcm .lt. 100) intcm = 100 IZERO = 0 ---------------------------------------------------------------------- Fix: Make the following change to gibbs/giba.f: ---------------------------------------------------------------------- *** OLD giba.f --- NEW giba.f *************** *** 2272,2277 **** --- 2272,2278 ---- C NODERV...Logical flag set to .true. when free energy derivatives are *not* C being calculated (normal FEP operation) C + ntcmt = 0 DS(1) = 0.0D0 DS(2) = 0.0D0 DE(1) = 0.0D0 ---------------------------------------------------------------------- Temporary workarounds: none --