hdiff output

r32900/dumpp.f 2017-07-02 11:30:08.844466822 +0100 r32899/dumpp.f 2017-07-02 11:30:09.372474073 +0100
 34: C  file energies 34: C  file energies
 35: C 35: C
 36:       WRITE(2,'(G30.20)') ENERGY 36:       WRITE(2,'(G30.20)') ENERGY
 37:       S=1.0D0 37:       S=1.0D0
 38:       IF ((ZSYM(NATOMS).EQ.'AR').AND.(ZSYM(1).NE.'CA')) S=3.4D0 38:       IF ((ZSYM(NATOMS).EQ.'AR').AND.(ZSYM(1).NE.'CA')) S=3.4D0
 39: C     IF (ZSYM(1)(1:1).EQ.'W') THEN 39: C     IF (ZSYM(1)(1:1).EQ.'W') THEN
 40: C        WRITE(1,'(I5)') 3*NATOMS 40: C        WRITE(1,'(I5)') 3*NATOMS
 41: C        WRITE(1,'(F20.10)') ENERGY 41: C        WRITE(1,'(F20.10)') ENERGY
 42: C     ENDIF 42: C     ENDIF
 43:       DO J1=1,NATOMS 43:       DO J1=1,NATOMS
 44:          IF (VARIABLES) THEN 44:          IF (ZSYM(1)(1:1).EQ.'W') THEN
 45:             WRITE(1,'(G20.10)') QL(J1) 
 46:          ELSE IF (ZSYM(1)(1:1).EQ.'W') THEN 
 47:             IF (J1.LE.NATOMS/2) THEN  !  WCOMMENT new line 45:             IF (J1.LE.NATOMS/2) THEN  !  WCOMMENT new line
 48:             CALL CONVERT(QL(3*(J1-1)+1),QL(3*(J1-1)+2),QL(3*(J1-1)+3), 46:             CALL CONVERT(QL(3*(J1-1)+1),QL(3*(J1-1)+2),QL(3*(J1-1)+3),
 49:      1            QL(3*(NATOMS/2+J1-1)+1),QL(3*(NATOMS/2+J1-1)+2),QL(3*(NATOMS/2+J1-1)+3),OVEC,H1VEC,H2VEC) 47:      1            QL(3*(NATOMS/2+J1-1)+1),QL(3*(NATOMS/2+J1-1)+2),QL(3*(NATOMS/2+J1-1)+3),OVEC,H1VEC,H2VEC)
 50: C  ! WCOMMENT 48: C  ! WCOMMENT
 51: C    1            QL(3*(NATOMS+J1-1)+1),QL(3*(NATOMS+J1-1)+2),QL(3*(NATOMS+J1-1)+3),OVEC,H1VEC,H2VEC) 49: C    1            QL(3*(NATOMS+J1-1)+1),QL(3*(NATOMS+J1-1)+2),QL(3*(NATOMS+J1-1)+3),OVEC,H1VEC,H2VEC)
 52: C           WRITE(1,'(A3,3G20.10)') 'O  ',OVEC(1),OVEC(2),OVEC(3) 50: C           WRITE(1,'(A3,3G20.10)') 'O  ',OVEC(1),OVEC(2),OVEC(3)
 53: C           WRITE(1,'(A3,3G20.10)') 'H  ',H1VEC(1),H1VEC(2),H1VEC(3) 51: C           WRITE(1,'(A3,3G20.10)') 'H  ',H1VEC(1),H1VEC(2),H1VEC(3)
 54: C           WRITE(1,'(A3,3G20.10)') 'H  ',H2VEC(1),H2VEC(2),H2VEC(3) 52: C           WRITE(1,'(A3,3G20.10)') 'H  ',H2VEC(1),H2VEC(2),H2VEC(3)
 55:             WRITE(1,'(2X,3G20.10)') OVEC(1),OVEC(2),OVEC(3) 53:             WRITE(1,'(2X,3G20.10)') OVEC(1),OVEC(2),OVEC(3)
 56:             WRITE(1,'(2X,3G20.10)') H1VEC(1),H1VEC(2),H1VEC(3) 54:             WRITE(1,'(2X,3G20.10)') H1VEC(1),H1VEC(2),H1VEC(3)
 57:             WRITE(1,'(2X,3G20.10)') H2VEC(1),H2VEC(2),H2VEC(3) 55:             WRITE(1,'(2X,3G20.10)') H2VEC(1),H2VEC(2),H2VEC(3)
 58:             ENDIF 56:             ENDIF
 59:          ELSE IF (RINGPOLYMERT.AND.(RPSYSTEM(1:4).EQ.'AECK')) THEN 57:          ELSE IF (RINGPOLYMERT.AND.(RPSYSTEM(1:4).EQ.'AECK')) THEN
 60:             WRITE(1,'(G20.10)') QL(J1) 58:             WRITE(1,'(G20.10)') QL(J1)
 61:          ELSE IF ((IATNUM(J1).NE.0).OR.CHRMMT.OR.UNRST) THEN 59:          ELSE IF ((IATNUM(J1).NE.0).OR.CHRMMT.OR.UNRST) THEN
 62:             J2=3*(J1-1) 60:             J2=3*(J1-1)
 63:             WRITE(1,'(1X,3G20.10)') QL(J2+1)*S,QL(J2+2)*S,QL(J2+3)*S 61:             WRITE(1,'(1X,3G20.10)') QL(J2+1)*S,QL(J2+2)*S,QL(J2+3)*S
  62:          ELSE IF (VARIABLES) THEN
  63:             WRITE(1,'(G20.10)') QL(J1)
 64:          ELSE 64:          ELSE
 65:             J2 = 3*(J1-1) 65:             J2 = 3*(J1-1)
 66:             WRITE(1,'(1X,3G20.10)') QL(J2+1), QL(J2+2), QL(J2+3) 66:             WRITE(1,'(1X,3G20.10)') QL(J2+1), QL(J2+2), QL(J2+3)
 67:          ENDIF 67:          ENDIF
 68:       ENDDO 68:       ENDDO
 69:       CALL FLUSH(1) 69:       CALL FLUSH(1)
 70:       CALL FLUSH(2) 70:       CALL FLUSH(2)
 71:       RETURN 71:       RETURN
 72:       END 72:       END


r32900/path.f 2017-07-02 11:30:09.096470370 +0100 r32899/path.f 2017-07-02 11:30:09.644477720 +0100
 45:         45:        
 46:       LOGICAL POTCALL, PTEST 46:       LOGICAL POTCALL, PTEST
 47:       LOGICAL PATHFAILT 47:       LOGICAL PATHFAILT
 48:       CHARACTER(LEN=*) ITSTRING,EOFSSTRING 48:       CHARACTER(LEN=*) ITSTRING,EOFSSTRING
 49:  49: 
 50:       INTEGER NSTEPPLUS, ITDONE, NSTEPMINUS, J1, J2, NPATHFRAME, NATOMSSAVE, NEWINR, GETUNIT, NEG, 50:       INTEGER NSTEPPLUS, ITDONE, NSTEPMINUS, J1, J2, NPATHFRAME, NATOMSSAVE, NEWINR, GETUNIT, NEG,
 51:      1        INEG, HORDER, INFO, IVECSAVE, IVEC2SAVE, IPOT, J3, NFPLUS, NFMINUS, RECLEN, ISTAT, NUSE 51:      1        INEG, HORDER, INFO, IVECSAVE, IVEC2SAVE, IPOT, J3, NFPLUS, NFMINUS, RECLEN, ISTAT, NUSE
 52:       INTEGER, PARAMETER :: NFMAX=20000 52:       INTEGER, PARAMETER :: NFMAX=20000
 53:  53: 
 54:       DOUBLE PRECISION, ALLOCATABLE :: EOFS(:), PATHLENGTH(:), EOFSFRAMEP(:), EOFSFRAMEM(:) 54:       DOUBLE PRECISION, ALLOCATABLE :: EOFS(:), PATHLENGTH(:), EOFSFRAMEP(:), EOFSFRAMEM(:)
 55:       DOUBLE PRECISION EVALMAX, RANDOM, QE, ASTEP, BSTEP, CSTEP, DSTEP, ENERGYC, ENERGYD,  55:       DOUBLE PRECISION EVALMAX, RANDOM, QE,
 56:      1                 DIAG(NOPT), EREAL, RMS2, STEP(NOPT), QINIT(NOPT), GOLDEN, QC(NOPT), QD(NOPT), 56:      1                 DIAG(NOPT), EREAL, RMS2, STEP(NOPT), QINIT(NOPT),
 57:      2                 TEMP, MINIM, SUM2, SUM4, EVPLUS, EVMINUS,  57:      2                 TEMP, MINIM, SUM2, SUM4, EVPLUS, EVMINUS, 
 58:      4                 SPLUS, SMINUS, STS, STEMP, ETEMP, DUMMY, TIME, TIME0, 58:      4                 SPLUS, SMINUS, STS, STEMP, ETEMP, DUMMY, TIME, TIME0,
 59:      5                 OVEC(3), H1VEC(3), H2VEC(3), 59:      5                 OVEC(3), H1VEC(3), H2VEC(3),
 60:      6                 TEMPA(9*NATOMS), CAPSCOORDS1(18), CAPSCOORDS2(18),  60:      6                 TEMPA(9*NATOMS), CAPSCOORDS1(18), CAPSCOORDS2(18), 
 61:      7                 DPRAND, PPLUS, PMINUS, lambdats, lambdap, lambdam, distp, distm, RMAT(3,3) !, P(3) 61:      7                 DPRAND, PPLUS, PMINUS, lambdats, lambdap, lambdam, distp, distm, RMAT(3,3) !, P(3)
 62:       LOGICAL CONNECTT, DUMPPATH, READPATH, CALCRATES, STOPFIRST, ETEST, NOSHIFTSAVE, NOHESSSAVE 62:       LOGICAL CONNECTT, DUMPPATH, READPATH, CALCRATES, STOPFIRST, ETEST, NOSHIFTSAVE, NOHESSSAVE
 63:       DOUBLE PRECISION TEMPERATURE, HRED, DIHE, ALLANG, LASTE 63:       DOUBLE PRECISION TEMPERATURE, HRED, DIHE, ALLANG, LASTE
 64:       INTEGER NCONNECT 64:       INTEGER NCONNECT
 65:       COMMON /CONN/ STOPFIRST, CONNECTT, NCONNECT, DUMPPATH, READPATH, CALCRATES, TEMPERATURE, HRED 65:       COMMON /CONN/ STOPFIRST, CONNECTT, NCONNECT, DUMPPATH, READPATH, CALCRATES, TEMPERATURE, HRED
 66:       DOUBLE PRECISION CAPSRHO, EPS2, RAD, HEIGHT 66:       DOUBLE PRECISION CAPSRHO, EPS2, RAD, HEIGHT
162:          ELSE162:          ELSE
163: !           sn402: to compute the pushoff step from the transition state?163: !           sn402: to compute the pushoff step from the transition state?
164:             CALL BFGSTS(NSTEPS,Q,ENERGY,VNEW,MFLAG,RMS,EVTS,EVALMAX,VECS,ITDONE,POTCALL,PTEST)164:             CALL BFGSTS(NSTEPS,Q,ENERGY,VNEW,MFLAG,RMS,EVTS,EVALMAX,VECS,ITDONE,POTCALL,PTEST)
165:          ENDIF165:          ENDIF
166:          ETS=ENERGY166:          ETS=ENERGY
167: !        IF (DEBUG) PRINT*,'ts step off plus points in path:'167: !        IF (DEBUG) PRINT*,'ts step off plus points in path:'
168: !        IF (DEBUG) WRITE(*,'(3G20.10)') (Q(J1),J1=1,NOPT)168: !        IF (DEBUG) WRITE(*,'(3G20.10)') (Q(J1),J1=1,NOPT)
169:          DO J1=1,NOPT169:          DO J1=1,NOPT
170:             STEP(J1)=Q(J1)-QINIT(J1)170:             STEP(J1)=Q(J1)-QINIT(J1)
171:          ENDDO171:          ENDDO
172:          IF (.TRUE.) THEN  ! use PUSHOPT logical - set REDOTS to zero 
173: ! 
174: ! Initially astep=0 the ts at QINIT(J1), bstep=PUSHOFF, corresponding to current Q(J1) 
175: ! 
176:             GOLDEN=(SQRT(5.0D0) + 1.0D0) / 2.0D0 
177:             ASTEP=0.0D0 
178:             BSTEP=PUSHOFF 
179:             CSTEP = BSTEP - (BSTEP - ASTEP) / GOLDEN 
180:             DSTEP = ASTEP + (BSTEP - ASTEP) / GOLDEN 
181:             IF (DEBUG) WRITE(6,'(A,4G20.10,A)') 'path> golden a, b, c, d=',ASTEP,BSTEP,CSTEP,DSTEP,' initially' 
182:             DO J1=1,100 
183:                QC(1:NOPT)=QINIT(1:NOPT)+CSTEP*VECS(1:NOPT) 
184:                QD(1:NOPT)=QINIT(1:NOPT)+DSTEP*VECS(1:NOPT) 
185:                CALL POTENTIAL(QC,ENERGYC,VNEW,.FALSE.,.FALSE.,RMS,.FALSE.,.FALSE.) 
186:                CALL POTENTIAL(QD,ENERGYD,VNEW,.FALSE.,.FALSE.,RMS,.FALSE.,.FALSE.) 
187:                IF (DEBUG) WRITE(6,'(A,4G25.15)') 'path> energy at ts, C and D and diff=',ETS,ENERGYC,ENERGYD,MIN(ENERGYC,ENERGYD)-ETS   
188:                IF (ENERGYC.LT.ENERGYD) THEN 
189:                   BSTEP=DSTEP 
190:                ELSE 
191:                   ASTEP=CSTEP 
192:                ENDIF 
193:                CSTEP = BSTEP - (BSTEP - ASTEP) / GOLDEN 
194:                DSTEP = ASTEP + (BSTEP - ASTEP) / GOLDEN 
195:                IF (DEBUG) WRITE(6,'(A,4G20.10)') 'path> golden a, b, c, d=',ASTEP,BSTEP,CSTEP,DSTEP 
196:                IF (ABS(ASTEP-BSTEP).LT.1.0D-6) THEN 
197:                   ASTEP=(ASTEP+BSTEP)/2.0D0 
198:                   Q(1:NOPT)=QINIT(1:NOPT)+ASTEP*VECS(1:NOPT) 
199:                   STEP(1:NOPT)=ASTEP*VECS(1:NOPT) 
200:                   EXIT 
201:                ENDIF 
202:             ENDDO 
203:             WRITE(6,'(A,3G25.15)') 'path> golden section + pushoff and delta energy: ', 
204:      &                              ASTEP,MIN(ENERGYC,ENERGYD),MIN(ENERGYC,ENERGYD)-ETS 
205:          ENDIF 
206:          172:          
207:          IF (RKMIN) RMS=1.0D0173:          IF (RKMIN) RMS=1.0D0
208:          MFLAG=.FALSE.174:          MFLAG=.FALSE.
209:          BFGSSTEP=.FALSE.175:          BFGSSTEP=.FALSE.
210:          BFGSTST=.FALSE.176:          BFGSTST=.FALSE.
211:          IF (BFGSMINT) THEN177:          IF (BFGSMINT) THEN
212:             IF (UNRST.OR.(CHRMMT.AND.INTMINT)) THEN178:             IF (UNRST.OR.(CHRMMT.AND.INTMINT)) THEN
213:                 CALL MYLBFGS(NINTS,MUPDATE,Q,.FALSE.,MFLAG,ENERGY,RMS2,EREAL,RMS,BFGSSTEPS,179:                 CALL MYLBFGS(NINTS,MUPDATE,Q,.FALSE.,MFLAG,ENERGY,RMS2,EREAL,RMS,BFGSSTEPS,
214:      1                       .TRUE.,ITDONE,PTEST,VNEW,.FALSE.,.FALSE.)180:      1                       .TRUE.,ITDONE,PTEST,VNEW,.FALSE.,.FALSE.)
215:             ELSE181:             ELSE
475:       ENDIF441:       ENDIF
476:       DO J1=1,NOPT442:       DO J1=1,NOPT
477:          QPLUS(J1)=Q(J1)443:          QPLUS(J1)=Q(J1)
478:          IF (.NOT.UNRST) Q(J1)=QINIT(J1)-STEP(J1)444:          IF (.NOT.UNRST) Q(J1)=QINIT(J1)-STEP(J1)
479:          IF (HYBRIDMINT) Q(J1)=QINIT(J1)445:          IF (HYBRIDMINT) Q(J1)=QINIT(J1)
480:       ENDDO446:       ENDDO
481:       EPLUS=ENERGY447:       EPLUS=ENERGY
482: !     IF (DEBUG) PRINT*,'ts step off minus points in path:'448: !     IF (DEBUG) PRINT*,'ts step off minus points in path:'
483: !     IF (DEBUG) WRITE(*,'(3G20.10)') (Q(J1),J1=1,NOPT)449: !     IF (DEBUG) WRITE(*,'(3G20.10)') (Q(J1),J1=1,NOPT)
484: 450: 
485:       IF (.TRUE.) THEN  ! use PUSHOPT logical 
486: ! 
487: ! Initially astep=0 the ts at QINIT(J1), bstep=PUSHOFF, corresponding to current Q(J1) 
488: ! 
489:          ASTEP=0.0D0 
490:          BSTEP=-PUSHOFF 
491:          CSTEP = BSTEP - (BSTEP - ASTEP) / GOLDEN 
492:          DSTEP = ASTEP + (BSTEP - ASTEP) / GOLDEN 
493:          IF (DEBUG) WRITE(6,'(A,4G20.10,A)') 'path> golden a, b, c, d=',ASTEP,BSTEP,CSTEP,DSTEP,' initially' 
494:          DO J1=1,100 
495:             QC(1:NOPT)=QINIT(1:NOPT)+CSTEP*VECS(1:NOPT) 
496:             QD(1:NOPT)=QINIT(1:NOPT)+DSTEP*VECS(1:NOPT) 
497:             CALL POTENTIAL(QC,ENERGYC,VNEW,.FALSE.,.FALSE.,RMS,.FALSE.,.FALSE.) 
498:             CALL POTENTIAL(QD,ENERGYD,VNEW,.FALSE.,.FALSE.,RMS,.FALSE.,.FALSE.) 
499:             IF (DEBUG) WRITE(6,'(A,4G25.15)') 'path> energy at ts, C and D and diff=',ETS,ENERGYC,ENERGYD,MIN(ENERGYC,ENERGYD)-ETS   
500:             IF (ENERGYC.LT.ENERGYD) THEN 
501:                BSTEP=DSTEP 
502:             ELSE 
503:                ASTEP=CSTEP 
504:             ENDIF 
505:             CSTEP = BSTEP - (BSTEP - ASTEP) / GOLDEN 
506:             DSTEP = ASTEP + (BSTEP - ASTEP) / GOLDEN 
507:             IF (DEBUG) WRITE(6,'(A,4G20.10)') 'path> golden a, b, c, d=',ASTEP,BSTEP,CSTEP,DSTEP 
508:             IF (ABS(ASTEP-BSTEP).LT.1.0D-6) THEN 
509:                ASTEP=(ASTEP+BSTEP)/2.0D0 
510:                Q(1:NOPT)=QINIT(1:NOPT)+ASTEP*VECS(1:NOPT) 
511:                STEP(1:NOPT)=ASTEP*VECS(1:NOPT) 
512:                EXIT 
513:             ENDIF 
514:          ENDDO 
515:          WRITE(6,'(A,3G25.15)') 'path> golden section - pushoff and delta energy: ', 
516:      &                           ASTEP,MIN(ENERGYC,ENERGYD),MIN(ENERGYC,ENERGYD)-ETS 
517:       ENDIF 
518:  
519:       IF (UNRST) THEN ! jmc new intstep stuff 451:       IF (UNRST) THEN ! jmc new intstep stuff 
520:          DO J1=1,nres452:          DO J1=1,nres
521:             c(1,J1)=QINIT(6*(J1-1)+1)453:             c(1,J1)=QINIT(6*(J1-1)+1)
522:             c(2,J1)=QINIT(6*(J1-1)+2)454:             c(2,J1)=QINIT(6*(J1-1)+2)
523:             c(3,J1)=QINIT(6*(J1-1)+3)455:             c(3,J1)=QINIT(6*(J1-1)+3)
524:             c(1,J1+nres)=QINIT(6*(J1-1)+4)456:             c(1,J1+nres)=QINIT(6*(J1-1)+4)
525:             c(2,J1+nres)=QINIT(6*(J1-1)+5)457:             c(2,J1+nres)=QINIT(6*(J1-1)+5)
526:             c(3,J1+nres)=QINIT(6*(J1-1)+6)458:             c(3,J1+nres)=QINIT(6*(J1-1)+6)
527:          END DO459:          END DO
528:          CALL UPDATEDC460:          CALL UPDATEDC


legend
Lines Added 
Lines changed
 Lines Removed

hdiff - version: 2.1.0