hdiff output

r33023/efol.f90 2017-07-16 10:30:11.894349521 +0100 r33022/efol.f90 2017-07-16 10:30:13.082365302 +0100
769:       IF (RMS.LT.PUSHCUT) THEN769:       IF (RMS.LT.PUSHCUT) THEN
770:          IF (TSTEST.AND.(INEG.NE.HINDEX)) THEN770:          IF (TSTEST.AND.(INEG.NE.HINDEX)) THEN
771:             IF (MOD(ITER-1,4).EQ.0) AWAY=.TRUE.771:             IF (MOD(ITER-1,4).EQ.0) AWAY=.TRUE.
772:          ELSE IF (MINTEST.AND.(INEG.NE.0)) THEN772:          ELSE IF (MINTEST.AND.(INEG.NE.0)) THEN
773: !773: !
774: ! This causes the step along the eigenvector with negative eigenvalue not to be scaled.774: ! This causes the step along the eigenvector with negative eigenvalue not to be scaled.
775: ! Can lead to large energy rises in pathway calculations. Turn off 14/7/17.775: ! Can lead to large energy rises in pathway calculations. Turn off 14/7/17.
776: ! Paths look much smoother!776: ! Paths look much smoother!
777: ! However, we need the pushoff if it is the first step from a ts.777: ! However, we need the pushoff if it is the first step from a ts.
778: !           IF (MOD(ITER-1,4).EQ.0) AWAY=.TRUE. 778: !           IF (MOD(ITER-1,4).EQ.0) AWAY=.TRUE. 
779:             IF (EFOLSTEP) AWAY=.TRUE. 779:             IF (ITER-1.EQ.0) AWAY=.TRUE. 
780:          ENDIF780:          ENDIF
781:       ENDIF781:       ENDIF
782:       IF ((.NOT.SDTEST).OR.AWAY) THEN782:       IF ((.NOT.SDTEST).OR.AWAY) THEN
783: !783: !
784: !  EF determination of steps784: !  EF determination of steps
785: !785: !
786:          ICOUNT=0786:          ICOUNT=0
787:          DO I=NOPT,1,-1787:          DO I=NOPT,1,-1
788:             STEP(I)=0.0D0788:             STEP(I)=0.0D0
789:             IF (ZT(I)) THEN789:             IF (ZT(I)) THEN


r33023/key.f90 2017-07-16 10:30:12.314355101 +0100 r33022/key.f90 2017-07-16 10:30:13.334368649 +0100
 25:      &        MLPIN, MLPSTART, MLPOUT, MLPHIDDEN, MLPDATA, NMLP, N_TO_ALIGN, DJWRBID, STM, NHEXAMERS, & 25:      &        MLPIN, MLPSTART, MLPOUT, MLPHIDDEN, MLPDATA, NMLP, N_TO_ALIGN, DJWRBID, STM, NHEXAMERS, &
 26:      &        MLQIN, MLQSTART, MLQOUT, MLQDATA, NMLQ, & 26:      &        MLQIN, MLQSTART, MLQOUT, MLQDATA, NMLQ, &
 27:      &        QCIADDREP, QCIBONDS, QCISECOND, MAXNACTIVE, QCIIMAGE, NADDTARGET, NUMNN, MULTI_COUNT, MULTI_LAST, MULTI_STEP, & 27:      &        QCIADDREP, QCIBONDS, QCISECOND, MAXNACTIVE, QCIIMAGE, NADDTARGET, NUMNN, MULTI_COUNT, MULTI_LAST, MULTI_STEP, &
 28:      &        NDOF, RECCOUNT, MLPPROBPOS, PUSHOPTMAX 28:      &        NDOF, RECCOUNT, MLPPROBPOS, PUSHOPTMAX
 29:  29: 
 30:       LOGICAL :: DTEST, MASST, RTEST, EFSTEPST, VECTORST, SUMMARYT, DUMPV, DUMPMAG, FREEZE, FREEZERANGE, GRADSQ, & 30:       LOGICAL :: DTEST, MASST, RTEST, EFSTEPST, VECTORST, SUMMARYT, DUMPV, DUMPMAG, FREEZE, FREEZERANGE, GRADSQ, &
 31:      &        PGRAD, VALUEST, ADMT, BFGSMINT, BFGSTST, CHECKINDEX, TOSI, CONTAINER, & 31:      &        PGRAD, VALUEST, ADMT, BFGSMINT, BFGSTST, CHECKINDEX, TOSI, CONTAINER, &
 32:      &        GAUSSIAN, CADPAC, PRESSURE, FTEST, DCHECK, CP2K, DFTP, CPMD, CPMDC, FREEZERES, DF1T, & 32:      &        GAUSSIAN, CADPAC, PRESSURE, FTEST, DCHECK, CP2K, DFTP, CPMD, CPMDC, FREEZERES, DF1T, &
 33:      &        VARIABLES, FIELDT, OHT, IHT, TDT, D5HT, TWOENDS, PV, FRACTIONAL, BLNT, HYBRIDMINT, & 33:      &        VARIABLES, FIELDT, OHT, IHT, TDT, D5HT, TWOENDS, PV, FRACTIONAL, BLNT, HYBRIDMINT, &
 34:      &        INDEXT, LANCZOST, NOSHIFT, GAMESSUS, GAMESSUK, PVTS, RIGIDBODY, CASTEP, ONETEP, QCHEM, QCHEMES, VASP, & 34:      &        INDEXT, LANCZOST, NOSHIFT, GAMESSUS, GAMESSUK, PVTS, RIGIDBODY, CASTEP, ONETEP, QCHEM, QCHEMES, VASP, &
 35:      &        BFGSSTEP, EFOLSTEP, BULKT, HUPDATE, NOHESS, READV, NOIT, THOMSONT, SIO2T, SIO2C6T, BISECTT, BISECTDEBUG, & 35:      &        BFGSSTEP, BULKT, HUPDATE, NOHESS, READV, NOIT, THOMSONT, SIO2T, SIO2C6T, BISECTT, BISECTDEBUG, &
 36:      &        TOSIC6, TOSIPOL, FIXIMAGE, DFTBT, CHECKCONT, CHECKDT, SHIFTED, READSP, DUMPSP, NOFRQS, & 36:      &        TOSIC6, TOSIPOL, FIXIMAGE, DFTBT, CHECKCONT, CHECKDT, SHIFTED, READSP, DUMPSP, NOFRQS, &
 37:      &        ALLSTEPS, ALLVECTORS, MWVECTORS, WELCH, BINARY, READHESS, MOVIE, NORESET, TWOD, & 37:      &        ALLSTEPS, ALLVECTORS, MWVECTORS, WELCH, BINARY, READHESS, MOVIE, NORESET, TWOD, &
 38:      &        DOUBLET, REOPT, PARALLEL, LINEMIN, FIXD, KEEPINDEX, BSMIN, PRINTPTS, RKMIN, REPELTST,& 38:      &        DOUBLET, REOPT, PARALLEL, LINEMIN, FIXD, KEEPINDEX, BSMIN, PRINTPTS, RKMIN, REPELTST,&
 39:      &        REPEL,UNRST, NATBT, ANGLEAXIS, DUMPALLPATHS, GOT, REOPTIMISEENDPOINTS, DUMPDATAT, MORPHT, PERMDIST, & 39:      &        REPEL,UNRST, NATBT, ANGLEAXIS, DUMPALLPATHS, GOT, REOPTIMISEENDPOINTS, DUMPDATAT, MORPHT, PERMDIST, &
 40:      &        GREATCIRCLET, DESMDEBUG, GROWSTRINGT, FREEZENODEST, STOCKT, BHINTERPT, BHDEBUG, CHRIGIDT, PERMDISTINIT, & 40:      &        GREATCIRCLET, DESMDEBUG, GROWSTRINGT, FREEZENODEST, STOCKT, BHINTERPT, BHDEBUG, CHRIGIDT, PERMDISTINIT, &
 41:      &        BBRSDMT, AMBERT, NABT, DUMPSTRUCTURES, ORDERPARAMT, BHINTERPUSELOWEST, STOCKSPIN, LOWESTFRQT, PTSTSTT, & 41:      &        BBRSDMT, AMBERT, NABT, DUMPSTRUCTURES, ORDERPARAMT, BHINTERPUSELOWEST, STOCKSPIN, LOWESTFRQT, PTSTSTT, &
 42:      &        RBAAT, DBPT, DBPTDT, DMBLPYT, LWOTPT, GBT, GBDT, MSSTOCKT, NIMET, NCAPT, NTIPT, PAHAT, SILANET, & 42:      &        RBAAT, DBPT, DBPTDT, DMBLPYT, LWOTPT, GBT, GBDT, MSSTOCKT, NIMET, NCAPT, NTIPT, PAHAT, SILANET, &
 43:      &        PAPT, PATCHYDT, PYGT, RADIFT, UNIAXT, STOCKAAT, EFIELDT, BHCHECKENERGYT, & 43:      &        PAPT, PATCHYDT, PYGT, RADIFT, UNIAXT, STOCKAAT, EFIELDT, BHCHECKENERGYT, &
 44:      &        REDUCEDBONDLENGTHT, CBT, CLOSESTALIGNMENT, NEBRESEEDT, ADDREPT, INTCONSTRAINTT, & 44:      &        REDUCEDBONDLENGTHT, CBT, CLOSESTALIGNMENT, NEBRESEEDT, ADDREPT, INTCONSTRAINTT, &
 45:      &        LOCALPERMDIST, DOCROSSCHECK, REDOKADD, REDOPATH1, REDOPATH2, ANGLEAXIS2, ATOMMATCHDIST, ATOMMATCHINIT, & 45:      &        LOCALPERMDIST, DOCROSSCHECK, REDOKADD, REDOPATH1, REDOPATH2, ANGLEAXIS2, ATOMMATCHDIST, ATOMMATCHINIT, &


r33023/path.f 2017-07-16 10:30:12.570358498 +0100 r33022/path.f 2017-07-16 10:30:13.598372157 +0100
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 (PUSHOPTT) THEN  ! set REDOTS to zero? maybe not172:          IF (PUSHOPTT) THEN  ! set REDOTS to zero? maybe not
173:             PINIT=PUSHOFF173:             PINIT=PUSHOFF
174:             CALL GOLDEN(VECS,QINIT,ETS,PINIT,POPT,PENERGY)174:             CALL GOLDEN(VECS,QINIT,ETS,PINIT,POPT,PENERGY)
175:             Q(1:NOPT)=QINIT(1:NOPT)+POPT*VECS(1:NOPT)175:             Q(1:NOPT)=QINIT(1:NOPT)+POPT*VECS(1:NOPT)
176:             STEP(1:NOPT)=POPT*VECS(1:NOPT)176:             STEP(1:NOPT)=POPT*VECS(1:NOPT)
177:             WRITE(6,'(A,3G25.15)') ' path> golden section + pushoff, energy, delta, step: ',177:             WRITE(6,'(A,4G25.15)') ' path> golden section + pushoff, energy, delta, step: ',
178:      &                                 PENERGY,PENERGY-ETS,POPT178:      &                                 POPT,PENERGY,PENERGY-ETS,POPT
179:          ENDIF179:          ENDIF
180:          180:          
181:          IF (RKMIN) RMS=1.0D0181:          IF (RKMIN) RMS=1.0D0
182:          MFLAG=.FALSE.182:          MFLAG=.FALSE.
183:          BFGSSTEP=.FALSE.183:          BFGSSTEP=.FALSE.
184:          BFGSTST=.FALSE.184:          BFGSTST=.FALSE.
185:          IF (BFGSMINT) THEN185:          IF (BFGSMINT) THEN
186:             IF (UNRST.OR.(CHRMMT.AND.INTMINT)) THEN186:             IF (UNRST.OR.(CHRMMT.AND.INTMINT)) THEN
187:                 CALL MYLBFGS(NINTS,MUPDATE,Q,.FALSE.,MFLAG,ENERGY,RMS2,EREAL,RMS,BFGSSTEPS,187:                 CALL MYLBFGS(NINTS,MUPDATE,Q,.FALSE.,MFLAG,ENERGY,RMS2,EREAL,RMS,BFGSSTEPS,
188:      1                       .TRUE.,ITDONE,PTEST,VNEW,.FALSE.,.FALSE.)188:      1                       .TRUE.,ITDONE,PTEST,VNEW,.FALSE.,.FALSE.)
271:                   CALL MYLBFGS(NINTS,MUPDATE,Q,.FALSE.,MFLAG,ENERGY,RMS2,EREAL,RMS,BFGSSTEPS,271:                   CALL MYLBFGS(NINTS,MUPDATE,Q,.FALSE.,MFLAG,ENERGY,RMS2,EREAL,RMS,BFGSSTEPS,
272:      1                         .TRUE.,ITDONE,PTEST,VNEW,.FALSE.,.FALSE.)272:      1                         .TRUE.,ITDONE,PTEST,VNEW,.FALSE.,.FALSE.)
273:                ELSE273:                ELSE
274:                   CALL MYLBFGS(NOPT,MUPDATE,Q,.FALSE.,MFLAG,ENERGY,RMS2,EREAL,RMS,BFGSSTEPS,274:                   CALL MYLBFGS(NOPT,MUPDATE,Q,.FALSE.,MFLAG,ENERGY,RMS2,EREAL,RMS,BFGSSTEPS,
275:      1                         .TRUE.,ITDONE,PTEST,VNEW,.FALSE.,.FALSE.)275:      1                         .TRUE.,ITDONE,PTEST,VNEW,.FALSE.,.FALSE.)
276:                ENDIF276:                ENDIF
277:                NSTEPPLUS=NSTEPPLUS+ITDONE277:                NSTEPPLUS=NSTEPPLUS+ITDONE
278:             ENDIF278:             ENDIF
279:          ENDIF279:          ENDIF
280:       ELSE  ! Another method for finding the pushoff step280:       ELSE  ! Another method for finding the pushoff step
281:          EFOLSTEP=.TRUE. 
282:          CALL EFOL(Q,MFLAG,1,ENERGY,ITDONE,EVTS,PTEST,FRQSTS,0)281:          CALL EFOL(Q,MFLAG,1,ENERGY,ITDONE,EVTS,PTEST,FRQSTS,0)
283:          EFOLSTEP=.FALSE. 
284:          ETS=ENERGY282:          ETS=ENERGY
285:          VECS(1:NOPT)=0.0D0283:          VECS(1:NOPT)=0.0D0
286:          DUMMY=0.0D0284:          DUMMY=0.0D0
287:          DO J1=1,NOPT285:          DO J1=1,NOPT
288:             STEP(J1)=Q(J1)-QINIT(J1)286:             STEP(J1)=Q(J1)-QINIT(J1)
289:             VECS(J1)=STEP(J1)287:             VECS(J1)=STEP(J1)
290:             DUMMY=DUMMY+VECS(J1)**2288:             DUMMY=DUMMY+VECS(J1)**2
291:          ENDDO289:          ENDDO
292:          DUMMY=SQRT(DUMMY)290:          DUMMY=SQRT(DUMMY)
293:          DO J1=1,NOPT291:          DO J1=1,NOPT
294:             VECS(J1)=VECS(J1)/DUMMY292:             VECS(J1)=VECS(J1)/DUMMY
295:          ENDDO293:          ENDDO
296:          IF (PUSHOPTT) THEN294:          IF (PUSHOPTT) THEN
297:             PINIT=PUSHOFF295:             PINIT=PUSHOFF
298:             CALL GOLDEN(VECS,QINIT,ETS,PINIT,POPT,PENERGY)  296:             CALL GOLDEN(VECS,QINIT,ETS,PINIT,POPT,PENERGY)  
299:             Q(1:NOPT)=QINIT(1:NOPT)+POPT*VECS(1:NOPT)297:             Q(1:NOPT)=QINIT(1:NOPT)+POPT*VECS(1:NOPT)
300:             STEP(1:NOPT)=POPT*VECS(1:NOPT)298:             STEP(1:NOPT)=POPT*VECS(1:NOPT)
301:             WRITE(6,'(A,3G25.15)') ' path> golden section + pushoff, energy, delta, step: ',299:             WRITE(6,'(A,4G25.15)') ' path> golden section + pushoff, energy, delta, step: ',
302:      &                                 PENERGY,PENERGY-ETS,POPT300:      &                                 POPT,PENERGY,PENERGY-ETS,POPT
303:          ENDIF301:          ENDIF
304:          KNOWE=.FALSE.302:          KNOWE=.FALSE.
305:          KNOWG=.FALSE. ! we don`t know the gradient at the point in Q because VNEW isn`t passed from efol?303:          KNOWG=.FALSE. ! we don`t know the gradient at the point in Q because VNEW isn`t passed from efol?
306:          IF (BFGSMINT) THEN304:          IF (BFGSMINT) THEN
307: C           NOSHIFT=.FALSE.305: C           NOSHIFT=.FALSE.
308:             IF (CHRMMT.AND.INTMINT) THEN306:             IF (CHRMMT.AND.INTMINT) THEN
309:                CALL MYLBFGS(NINTS,MUPDATE,Q,.FALSE.,MFLAG,ENERGY,RMS2,EREAL,RMS,BFGSSTEPS,307:                CALL MYLBFGS(NINTS,MUPDATE,Q,.FALSE.,MFLAG,ENERGY,RMS2,EREAL,RMS,BFGSSTEPS,
310:      1                      .TRUE.,ITDONE,PTEST,VNEW,.FALSE.,.FALSE.)308:      1                      .TRUE.,ITDONE,PTEST,VNEW,.FALSE.,.FALSE.)
311:             ELSE309:             ELSE
312:                CALL MYLBFGS(NOPT,MUPDATE,Q,.FALSE.,MFLAG,ENERGY,RMS2,EREAL,RMS,BFGSSTEPS,310:                CALL MYLBFGS(NOPT,MUPDATE,Q,.FALSE.,MFLAG,ENERGY,RMS2,EREAL,RMS,BFGSSTEPS,
472:       ENDDO470:       ENDDO
473:       EPLUS=ENERGY471:       EPLUS=ENERGY
474: !     IF (DEBUG) PRINT*,'ts step off minus points in path:'472: !     IF (DEBUG) PRINT*,'ts step off minus points in path:'
475: !     IF (DEBUG) WRITE(*,'(3G20.10)') (Q(J1),J1=1,NOPT)473: !     IF (DEBUG) WRITE(*,'(3G20.10)') (Q(J1),J1=1,NOPT)
476: 474: 
477:       IF (PUSHOPTT) THEN 475:       IF (PUSHOPTT) THEN 
478:          PINIT=-PUSHOFF476:          PINIT=-PUSHOFF
479:          CALL GOLDEN(VECS,QINIT,ETS,PINIT,POPT,PENERGY)477:          CALL GOLDEN(VECS,QINIT,ETS,PINIT,POPT,PENERGY)
480:          Q(1:NOPT)=QINIT(1:NOPT)+POPT*VECS(1:NOPT)478:          Q(1:NOPT)=QINIT(1:NOPT)+POPT*VECS(1:NOPT)
481:          STEP(1:NOPT)=POPT*VECS(1:NOPT)479:          STEP(1:NOPT)=POPT*VECS(1:NOPT)
482:          WRITE(6,'(A,3G25.15)') ' path> golden section - pushoff, energy, delta, step: ',480:          WRITE(6,'(A,4G25.15)') ' path> golden section - pushoff, energy, delta, step: ',
483:      &                              PENERGY,PENERGY-ETS,POPT481:      &                              POPT,PENERGY,PENERGY-ETS,POPT
484:       ENDIF482:       ENDIF
485: 483: 
486:       IF (UNRST) THEN ! jmc new intstep stuff 484:       IF (UNRST) THEN ! jmc new intstep stuff 
487:          DO J1=1,nres485:          DO J1=1,nres
488:             c(1,J1)=QINIT(6*(J1-1)+1)486:             c(1,J1)=QINIT(6*(J1-1)+1)
489:             c(2,J1)=QINIT(6*(J1-1)+2)487:             c(2,J1)=QINIT(6*(J1-1)+2)
490:             c(3,J1)=QINIT(6*(J1-1)+3)488:             c(3,J1)=QINIT(6*(J1-1)+3)
491:             c(1,J1+nres)=QINIT(6*(J1-1)+4)489:             c(1,J1+nres)=QINIT(6*(J1-1)+4)
492:             c(2,J1+nres)=QINIT(6*(J1-1)+5)490:             c(2,J1+nres)=QINIT(6*(J1-1)+5)
493:             c(3,J1+nres)=QINIT(6*(J1-1)+6)491:             c(3,J1+nres)=QINIT(6*(J1-1)+6)


r33023/tryconnect.f90 2017-07-16 10:30:11.642346170 +0100 r33022/tryconnect.f90 2017-07-16 10:30:12.826361900 +0100
 26:           USE CONNECTDATA 26:           USE CONNECTDATA
 27:           USE KEYCONNECT 27:           USE KEYCONNECT
 28:           USE CONNECTUTILS 28:           USE CONNECTUTILS
 29:           USE NEBTOCONNECT 29:           USE NEBTOCONNECT
 30:           USE KEYNEB, ONLY : NIMAGE, NITERMAX, READGUESS 30:           USE KEYNEB, ONLY : NIMAGE, NITERMAX, READGUESS
 31:           USE KEY, ONLY : UNRST, FILTH, FILTHSTR, DUMPALLPATHS, TWOD, MAXTSENERGY, RIGIDBODY, & 31:           USE KEY, ONLY : UNRST, FILTH, FILTHSTR, DUMPALLPATHS, TWOD, MAXTSENERGY, RIGIDBODY, &
 32:   &                   MAXMAXBARRIER, DIJKSTRALOCAL, INTNTRIESMAX, & 32:   &                   MAXMAXBARRIER, DIJKSTRALOCAL, INTNTRIESMAX, &
 33:   &                   PERMDIST, MAXBARRIER, GROWSTRINGT, BULKT, AMBERT, NABT, AMBER12T, FREEZE, FROZEN, NFREEZE, & 33:   &                   PERMDIST, MAXBARRIER, GROWSTRINGT, BULKT, AMBERT, NABT, AMBER12T, FREEZE, FROZEN, NFREEZE, &
 34:   &                   PUSHOFF, MAXBFGS, MIN1REDO, MIN2REDO, REDOKADD, D1INIT, D2INIT, REDOE1, REDOE2, & 34:   &                   PUSHOFF, MAXBFGS, MIN1REDO, MIN2REDO, REDOKADD, D1INIT, D2INIT, REDOE1, REDOE2, &
 35:   &                   AMHT, SEQ, INTIMAGE, NEBKFINAL, INTIMAGEINCR, MAXINTIMAGE, SETCHIRAL, REDOTS, VARIABLES, & 35:   &                   AMHT, SEQ, INTIMAGE, NEBKFINAL, INTIMAGEINCR, MAXINTIMAGE, SETCHIRAL, REDOTS, VARIABLES, &
 36:   &                   FLATPATHT, QCIIMAGE, PUSHOPTT 36:   &                   FLATPATHT, QCIIMAGE
 37:           USE MODGUESS 37:           USE MODGUESS
 38:           USE MODUNRES 38:           USE MODUNRES
 39:           USE MODCHARMM, ONLY : CHRMMT,NCHENCALLS,CHECKOMEGAT,CHECKCHIRALT,NOCISTRANS,MINOMEGA 39:           USE MODCHARMM, ONLY : CHRMMT,NCHENCALLS,CHECKOMEGAT,CHECKCHIRALT,NOCISTRANS,MINOMEGA
 40:           USE MODAMBER9, ONLY : NOCISTRANSRNA, NOCISTRANSDNA, GOODSTRUCTURE1, GOODSTRUCTURE2, CISARRAY1, CISARRAY2,CHIARRAY1,CHIARRAY2 40:           USE MODAMBER9, ONLY : NOCISTRANSRNA, NOCISTRANSDNA, GOODSTRUCTURE1, GOODSTRUCTURE2, CISARRAY1, CISARRAY2,CHIARRAY1,CHIARRAY2
 41:           USE MODMEC 41:           USE MODMEC
 42:           USE KEYUTILS 42:           USE KEYUTILS
 43:           USE COMMONS, ONLY : NINTS, PARAM1, PARAM2, PARAM3, ZSYM, EVDISTTHRESH, REDOPATHNEB, DEBUG 43:           USE COMMONS, ONLY : NINTS, PARAM1, PARAM2, PARAM3, ZSYM, EVDISTTHRESH, REDOPATHNEB, DEBUG
 44:           USE PORFUNCS 44:           USE PORFUNCS
 45:           USE AMHGLOBALS, ONLY : NMRES 45:           USE AMHGLOBALS, ONLY : NMRES
 46:           USE GSDATA, ONLY : GSITERDENSITY, GSCURITERD=>ITERD 46:           USE GSDATA, ONLY : GSITERDENSITY, GSCURITERD=>ITERD
553: !553: !
554: ! Allow redopath to add the same transition state more than once.554: ! Allow redopath to add the same transition state more than once.
555: ! For use with different PUSHOFF and BFGSSTEP values in case the connection fails555: ! For use with different PUSHOFF and BFGSSTEP values in case the connection fails
556: ! to give the minima pair that we actually want.556: ! to give the minima pair that we actually want.
557: !557: !
558: !              ELSEIF ( NCISNEWTS(TSFOUND(I),SAMEAS).OR.REDOPATH ) THEN558: !              ELSEIF ( NCISNEWTS(TSFOUND(I),SAMEAS).OR.REDOPATH ) THEN
559:                ELSE559:                ELSE
560:                   IF ((.NOT.NCISNEWTS(TSFOUND(I),SAMEAS)).AND.(.NOT.REDOPATH)) FOUNDBEFORE(I)=.TRUE.560:                   IF ((.NOT.NCISNEWTS(TSFOUND(I),SAMEAS)).AND.(.NOT.REDOPATH)) FOUNDBEFORE(I)=.TRUE.
561:                   IF (FOUNDBEFORE(I)) THEN561:                   IF (FOUNDBEFORE(I)) THEN
562:                      TS(SAMEAS)%DATA%HITS=TS(SAMEAS)%DATA%HITS+1562:                      TS(SAMEAS)%DATA%HITS=TS(SAMEAS)%DATA%HITS+1
563:                      IF ((.NOT.PUSHOPTT).AND.(TS(SAMEAS)%DATA%HITS.LT.REDOTS)) THEN563:                      IF (TS(SAMEAS)%DATA%HITS.LT.REDOTS) THEN
564:                         PRINT '(A,I6,A,G20.10)',' tryconnect> Try the path again for ts ',I,' with pushoff=',PUSHOFF/1.0D1564:                         PRINT '(A,I6,A,G20.10)',' tryconnect> Try the path again for ts ',I,' with pushoff=',PUSHOFF/1.0D1
565:                         IF (NTS==TSRACKSIZE) CALL REALLOCATETSRACK565:                         IF (NTS==TSRACKSIZE) CALL REALLOCATETSRACK
566:                         NTS=NTS+1; UNIQUE=UNIQUE+1566:                         NTS=NTS+1; UNIQUE=UNIQUE+1
567:                         DOAGAIN(UNIQUE)=.TRUE.567:                         DOAGAIN(UNIQUE)=.TRUE.
568:                         TS(NTS)%DATA%E => TSFOUND(I)%E568:                         TS(NTS)%DATA%E => TSFOUND(I)%E
569:                         TS(NTS)%DATA%X => TSFOUND(I)%COORD569:                         TS(NTS)%DATA%X => TSFOUND(I)%COORD
570:                         TS(NTS)%DATA%EVALMIN => TSFOUND(I)%EVALMIN570:                         TS(NTS)%DATA%EVALMIN => TSFOUND(I)%EVALMIN
571:                         TS(NTS)%DATA%VECS => TSFOUND(I)%VECS571:                         TS(NTS)%DATA%VECS => TSFOUND(I)%VECS
572:                         TS(NTS)%DATA%BAD=.FALSE.572:                         TS(NTS)%DATA%BAD=.FALSE.
573:                         TS(NTS)%DATA%HITS=0573:                         TS(NTS)%DATA%HITS=0
1119:              IF ((DIST1P.GT.GEOMDIFFTOL).AND.(DIST1M.GT.GEOMDIFFTOL)) THEN1119:              IF ((DIST1P.GT.GEOMDIFFTOL).AND.(DIST1M.GT.GEOMDIFFTOL)) THEN
1120:                 PRINT '(A)',' tryconnect> path failed to match first minimum'1120:                 PRINT '(A)',' tryconnect> path failed to match first minimum'
1121:                 PATHFAILED=.TRUE.1121:                 PATHFAILED=.TRUE.
1122:              ENDIF1122:              ENDIF
1123:              IF ((DIST2P.GT.GEOMDIFFTOL).AND.(DIST2M.GT.GEOMDIFFTOL)) THEN1123:              IF ((DIST2P.GT.GEOMDIFFTOL).AND.(DIST2M.GT.GEOMDIFFTOL)) THEN
1124:                 PRINT '(A)',' tryconnect> path failed to match second minimum'1124:                 PRINT '(A)',' tryconnect> path failed to match second minimum'
1125:                 PATHFAILED=.TRUE.1125:                 PATHFAILED=.TRUE.
1126:              ENDIF1126:              ENDIF
1127:              IF (PATHFAILED) THEN1127:              IF (PATHFAILED) THEN
1128:                 NC1=NC1+11128:                 NC1=NC1+1
1129:                 IF (PUSHOPTT.OR.(NC1.GT.2*NREDOPATHTRIES1)) THEN1129:                 IF (NC1.GT.2*NREDOPATHTRIES1) THEN
1130:                    NC2=NC2+11130:                    NC2=NC2+1
1131:                    NC1=01131:                    NC1=0
1132:                 ENDIF1132:                 ENDIF
1133:                 IF (NREDOPATHTRIES1.EQ.0) THEN1133:                 IF (NREDOPATHTRIES1.EQ.0) THEN
1134:                    PUSHOFF=SAVEPUSHOFF1134:                    PUSHOFF=SAVEPUSHOFF
1135:                 ELSEIF (NC1.GT.NREDOPATHTRIES1) THEN1135:                 ELSEIF (NC1.GT.NREDOPATHTRIES1) THEN
1136:                    PUSHOFF=SAVEPUSHOFF+(NC1-NREDOPATHTRIES1)*(REDOSTRETCH*SAVEPUSHOFF-SAVEPUSHOFF)/NREDOPATHTRIES11136:                    PUSHOFF=SAVEPUSHOFF+(NC1-NREDOPATHTRIES1)*(REDOSTRETCH*SAVEPUSHOFF-SAVEPUSHOFF)/NREDOPATHTRIES1
1137:                 ELSE1137:                 ELSE
1138:                    PUSHOFF=SAVEPUSHOFF-NC1*(SAVEPUSHOFF-SAVEPUSHOFF/REDOSTRETCH)/NREDOPATHTRIES11138:                    PUSHOFF=SAVEPUSHOFF-NC1*(SAVEPUSHOFF-SAVEPUSHOFF/REDOSTRETCH)/NREDOPATHTRIES1
1139:                 ENDIF1139:                 ENDIF


legend
Lines Added 
Lines changed
 Lines Removed

hdiff - version: 2.1.0