NOTE: this change involved so much code that manual fixing was deemed impossible. 4.0.1 tapes were sent to 4.0 recipients that could not receive an email patch. This fix includes pairlist speedup plus some modifications for porting and for reporting categories of execution time. Author: Dave Pearlman Date: 8/91 Description: Gibbs4 ran considerably slower on most hardware than Gibbs, version 3A. When the default pairlist generating scheme in minmd version 4.0 was used (NTID=0), the energy would not match that calculated by Gibbs4, which used a different pairlist generation scheme. Cause: The pairlist generating routine in Gibbs4 was based on the routine found in Gibbs, version 3.0, not version 3A. In version 3A, a fast set of loops was used, where the pairlist was generated considering only the first atom of each solvent molecule (e.g. O in H2O). In version 4.0 (also 3.0), each atom of each solvent molecule was considered in forming the pairlist. The difference arose because Gibbs4 was based on AMBER3.0, not amber3a. Fix: The faster pairlist generation loops and calls implemented by George Seibel in AMBER3a have been incorporated into Gibbs4. The results are twofold: 1) Gibbs4 now executes considerably faster on most platforms. For systems with a high solvent/solute ratio, speedups of up to 2-3x have been reported for vector machines (e.g. cray YMP); 2) minmd/sander should now give the same energy as gibbs for the first step of a simulation, provided that a) lambda is set to 1 on the first step of gibbs and b) the SHAKE flag is set to 1 or 3 (setting the SHAKE flag to 2 results in differing numbers of constrained bonds in minmd, relative to gibbs). Results using the speeded up version of gibbs4 will not match exactly those from earlier versions of gibbs4 if the default value of NTID=0 is used (because the pairlist is generated differently). If NTID is set to 86, the pairlist will be generated in the old (slower) fashion, which should give exact agreement with previous versions of gibbs4. The change in the the pairlist generation loops should have no affect on simulations run without periodic boundary conditions. Also added timing calls so that gibbs now gives a summary of component times, like md, etc. Most gibbs source files modified & doc/gibbs.me updated (bugfix.3). ----- Author: Bill Ross Date: 8/91 Added PMF|Constraints to test/glsfdif LIST2 to egrep out the gibbs-specific timing reports and removed 'update' from LIST1 to avoid screening out the 'nb-update' line in gibbs. Reran the gibbs demos: methane, peptide, water.