********> bugfix.33 Author: Dave Case & Bill Ross Date: 8/14/95 Programs: Sander, gibbs, nmode, anal Severity: Slight Problem: Fractional dielectric constant ( 0.0 < e < 1.0) silently ignored. Affects: User attempts to magnify charges by using fractional dielectric. Cause: Someone assumed this would never be done. Fix: Make the following change to src/sander/rdparm.f ---------------------------------------------------------------------- *** OLD rdparm.f --- NEW rdparm.f *************** *** 357,363 C C ----- SCALE THE CHARGES IF DIELC.GT.1.0E0 ----- C ! IF (DIELC .GT. 1.0E0) THEN DUMD = SQRT(DIELC) DO 140 I = 1,NATOM X(I+L15-1) = X(I+L15-1)/DUMD --- 357,363 ----- C C ----- SCALE THE CHARGES IF DIELC.GT.1.0E0 ----- C ! IF (DIELC .ne. 1.0E0) THEN DUMD = SQRT(DIELC) DO 140 I = 1,NATOM X(I+L15-1) = X(I+L15-1)/DUMD ---------------------------------------------------------------------- Fix: Make the following change to src/gibbs/giba.f ---------------------------------------------------------------------- *** OLD giba.f --- NEW giba.f *************** *** 224,230 C C ----- SCALE THE CHARGES IF DIELC.GT.1.0 ----- C ! IF (DIELC.gt.1.0d0) then DUMD = SQRT(DIELC) c C Bug that made dielectrics .ne. 1 not work for pert runs fixed. --- 224,230 ----- C C ----- SCALE THE CHARGES IF DIELC.GT.1.0 ----- C ! IF (DIELC.ne.1.0d0) then DUMD = SQRT(DIELC) c C Bug that made dielectrics .ne. 1 not work for pert runs fixed. ---------------------------------------------------------------------- Fix: Make the following change to src/nmode/rdparm.f ---------------------------------------------------------------------- *** OLD rdparm.f --- NEW rdparm.f *************** *** 119,125 c c ----- Scale the charges by the dielectric constatnt c ! if (dielc.gt.1.0) then sqdiel = sqrt (dielc) do 10 i = 1,natom cg(i) = cg(i) / sqdiel --- 119,125 ----- c c ----- Scale the charges by the dielectric constatnt c ! if (dielc.ne.1.0) then sqdiel = sqrt (dielc) do 10 i = 1,natom cg(i) = cg(i) / sqdiel ---------------------------------------------------------------------- Fix: Make the following change to src/anal/analb.f ---------------------------------------------------------------------- *** OLD analb.f --- NEW analb.f *************** *** 2528,2534 C C ----- SCALE THE CHARGES FOR DIELECTRIC CONSTANT ----- C ! IF(DIELC.LE.1.0E0) GO TO 160 DUM = SQRT(DIELC) DO 140 I = 1,NATOM X(I+L15-1) = X(I+L15-1)/DUM --- 2528,2534 ----- C C ----- SCALE THE CHARGES FOR DIELECTRIC CONSTANT ----- C ! IF(DIELC.ne.1.0E0) GO TO 160 DUM = SQRT(DIELC) DO 140 I = 1,NATOM X(I+L15-1) = X(I+L15-1)/DUM ---------------------------------------------------------------------- Temporary workarounds: remake database with exaggerated charges (not recommended) --