********> bugfix.29 Correction Author: David A. Pearlman Correction Date: 1/8/92 Programs: gibbs Severity: slight Problem: The Gibbs manual makes the following claim: " 10.11 ITRSLU If ITRSLU > 0, then during periodic boundary conditions simulations, SOLUTE atoms which exit the primary image will be translated back into this cube. Normally, (ITRSLU=0) this is only done for SOLVENT atoms." In fact, only by setting ITRSLU=1 will you get the behavior described. All values of ITRSLU.NE.1 will result in the same behavior as ITRSLU=0, i.e. the solute is never translated back into the primary image box. Affects: If ITRSLU is set to a value >0 but .NE. 1, the user would expect the solute to be translated back into the primary image box if it drifted out, but this would not occur. This would only cause problems if part of the solute eventually drifted outside of the region defined by the central image box and the 26 adjoining image boxes. That is, if the solute drifts more than one image box length away from the central image box. In this case, the non-bonded list would not be calculated correctly. Obviously, there is no possible problem if periodic boundary conditions are not being imposed. Cause: The documentation is incorrect. The value of ITRSLU is compared to 1, rather than checking to simply determine if ITRSLU > 0. Fix: To routine MDREAD in src/gibbs/giba.f and doc/gibbs.me ---------------------giba.f: *** OLD giba.f --- NEW giba.f *************** *** 1288,1293 write(6,'(/2x,a,i3,a)') 'IDSX0 (',idsx0,') must be >= -1.' inerr = 1 endif if (ioleps.ne. 0 .and. ioleps.ne. 1) then write(6,'(/2x,a,i3,a)') 'IOLEPS (',ioleps,') must be 0 or 1.' inerr = 1 --- 1288,1297 ----- write(6,'(/2x,a,i3,a)') 'IDSX0 (',idsx0,') must be >= -1.' inerr = 1 endif + if (itrslu.ne.0 .and. itrslu.ne.1) then + write(6,'(/2x,a,i3,a)') 'ITRSLU (',itrslu,') must be 0 or 1.' + inerr = 1 + endif if (ioleps.ne. 0 .and. ioleps.ne. 1) then write(6,'(/2x,a,i3,a)') 'IOLEPS (',ioleps,') must be 0 or 1.' inerr = 1 ---------------------gibbs.me: *** OLD gibbs.me --- NEW gibbs.me *************** *** 1091,1100 = -1: results in r*(state where one atom vanished) = 0.0 ! 10.11 ITRSLU If ITRSLU > 0, then during periodic boundary conditions ! simulations, SOLUTE atoms which exit the primary image will ! be translated back into this cube. Normally, (ITRSLU=0) ! this is only done for SOLVENT atoms. 10.12 IOLEPS Controls how parameter mixing is performed for non-bonded interactions. --- 1091,1109 ----- = -1: results in r*(state where one atom vanished) = 0.0 ! 10.11 ITRSLU During a periodic boundary conditions simulation, ! controls whether SOLUTE molecules which exit the primary ! image box will be translated back into the central box. SOLVENT ! molecules which exit the central image box are always translated ! back into the box. A molecule is considered to have floated out ! of the central box if the first atom of the molecule exits the box. ! ! = 1 Both SOLUTE and SOLVENT molecules which exit the primary image ! box will be translated back into the box. (Recommended for most ! systems). ! ! = 0 Only SOLVENT molecules will be translated back into the primary ! image box. SOLUTE molecules are not translated. 10.12 IOLEPS Controls how parameter mixing is performed for non-bonded interactions. --------------------- Temporary workarounds: Simply be sure to set the value of ITRSLU to 1 if you want solute molecules translated back into the primary image box. Routines affected: GIBBS: Routine RUNMD in file .../amber4/src/gibbs/giba.f documentation file .../amber4/doc/gibbs.me