hdiff output

r32776/tryconnect.f90 2017-06-12 15:30:15.238373501 +0100 r32775/tryconnect.f90 2017-06-12 15:30:15.458376390 +0100
768:                   IF (REDOPATHXYZ) THEN768:                   IF (REDOPATHXYZ) THEN
769:                      INQUIRE(FILE=TRIM(ADJUSTL(ITSTRING)),EXIST=EXISTS)769:                      INQUIRE(FILE=TRIM(ADJUSTL(ITSTRING)),EXIST=EXISTS)
770:                      IF (EXISTS) THEN ! ALLOWS FOR RERUN WITH DIFFERENT ENERGY DIFFERENCE CRITERION FOR770:                      IF (EXISTS) THEN ! ALLOWS FOR RERUN WITH DIFFERENT ENERGY DIFFERENCE CRITERION FOR
771:                                       ! consecutive frames in path without redoing original path771:                                       ! consecutive frames in path without redoing original path
772:                         PRINT '(2A)',' tryconnect> Reading data for minima from existing file ',TRIM(ADJUSTL(itstring))772:                         PRINT '(2A)',' tryconnect> Reading data for minima from existing file ',TRIM(ADJUSTL(itstring))
773:                         NORERUN=.TRUE.773:                         NORERUN=.TRUE.
774:                      ENDIF774:                      ENDIF
775:                   ENDIF775:                   ENDIF
776:                ENDIF776:                ENDIF
777:                IF (.NOT.NORERUN) THEN777:                IF (.NOT.NORERUN) THEN
778: !                REDOKADD=.TRUE.778:                  REDOKADD=.TRUE.
779: ! hk286779: ! hk286
780:                  IF (RIGIDINIT) THEN780:                  IF (RIGIDINIT) THEN
781:                  ! Need this to be correctly set in PATH because we call POTENTIAL and do minimisations.781:                  ! Need this to be correctly set in PATH because we call POTENTIAL and do minimisations.
782:                     ATOMRIGIDCOORDT = .FALSE.782:                     ATOMRIGIDCOORDT = .FALSE.
783:                  ENDIF783:                  ENDIF
784: 784: 
785: !                PRINT '(A)','tryconnect> calling PATH' 
786:                  CALL PATH(TMPTS,EDUMMY,LGDUMMY,RMS,TS(I)%DATA%EVALMIN,TS(I)%DATA%VECS,  &785:                  CALL PATH(TMPTS,EDUMMY,LGDUMMY,RMS,TS(I)%DATA%EVALMIN,TS(I)%DATA%VECS,  &
787:                     & .FALSE.,QPLUS,QMINUS,DEBUG,EDUMMY2,EPLUS,EMINUS, &786:                     & .FALSE.,QPLUS,QMINUS,DEBUG,EDUMMY2,EPLUS,EMINUS, &
788:                     & TS(I)%DATA%SLENGTH,TS(I)%DATA%DISP,TS(I)%DATA%GAMMA,TS(I)%DATA%NTILDE,FRQSTS,FRQSPLUS, &787:                     & TS(I)%DATA%SLENGTH,TS(I)%DATA%DISP,TS(I)%DATA%GAMMA,TS(I)%DATA%NTILDE,FRQSTS,FRQSPLUS, &
789:                     & FRQSMINUS,ITSTRING,EOFSSTRING,PATHFAILT)788:                     & FRQSMINUS,ITSTRING,EOFSSTRING,PATHFAILT)
790: ! hk286789: ! hk286
791:                  IF (RIGIDINIT) THEN790:                  IF (RIGIDINIT) THEN
792:                     ATOMRIGIDCOORDT = .TRUE.791:                     ATOMRIGIDCOORDT = .TRUE.
793:                     XRIGIDCOORDS(1:DEGFREEDOMS) = QPLUS(1:DEGFREEDOMS)792:                     XRIGIDCOORDS(1:DEGFREEDOMS) = QPLUS(1:DEGFREEDOMS)
794:                     CALL TRANSFORMRIGIDTOC (1, NRIGIDBODY, QPLUS, XRIGIDCOORDS)793:                     CALL TRANSFORMRIGIDTOC (1, NRIGIDBODY, QPLUS, XRIGIDCOORDS)
795:                     XRIGIDCOORDS(1:DEGFREEDOMS) = QMINUS(1:DEGFREEDOMS)794:                     XRIGIDCOORDS(1:DEGFREEDOMS) = QMINUS(1:DEGFREEDOMS)
796:                     CALL TRANSFORMRIGIDTOC (1, NRIGIDBODY, QMINUS, XRIGIDCOORDS)795:                     CALL TRANSFORMRIGIDTOC (1, NRIGIDBODY, QMINUS, XRIGIDCOORDS)
797:                  ENDIF796:                  ENDIF
798: ! hk286797: ! hk286
799:                  QP(1:NOPT)=QPLUS(1:NOPT)798:                  QP(1:NOPT)=QPLUS(1:NOPT)
800:                  QM(1:NOPT)=QMINUS(1:NOPT)799:                  QM(1:NOPT)=QMINUS(1:NOPT)
801: !                REDOKADD=.FALSE.800:                  REDOKADD=.FALSE.
802:                ELSE801:                ELSE
803:                   OPEN(UNIT=89,FILE=ITSTRING,STATUS='OLD')802:                   OPEN(UNIT=89,FILE=ITSTRING,STATUS='OLD')
804:                   READ(89,*)803:                   READ(89,*)
805:                   READ(89,*) DUMMYS, EPLUS804:                   READ(89,*) DUMMYS, EPLUS
806:                   DO J1=1,NATOMS805:                   DO J1=1,NATOMS
807:                      READ(89,*) ZDUM,QPLUS(3*(J1-1)+1),QPLUS(3*(J1-1)+2),QPLUS(3*(J1-1)+3)806:                      READ(89,*) ZDUM,QPLUS(3*(J1-1)+1),QPLUS(3*(J1-1)+2),QPLUS(3*(J1-1)+3)
808:                   ENDDO807:                   ENDDO
809:                   DO808:                   DO
810:                      READ(89,*,END=99)809:                      READ(89,*,END=99)
811:                      READ(89,*) DUMMYS, EMINUS810:                      READ(89,*) DUMMYS, EMINUS
997:                   PRINT '(A,G20.10,A)',' tryconnect> Transition state with energy ',TS(I)%DATA%E, &996:                   PRINT '(A,G20.10,A)',' tryconnect> Transition state with energy ',TS(I)%DATA%E, &
998:   &                                        ' ignored, inversion of a chiral CA center detected.'997:   &                                        ' ignored, inversion of a chiral CA center detected.'
999:                   DEALLOCATE(TS(I)%DATA%EVALMIN)998:                   DEALLOCATE(TS(I)%DATA%EVALMIN)
1000:                   DEALLOCATE(QPLUS,QMINUS,EPLUS,EMINUS)999:                   DEALLOCATE(QPLUS,QMINUS,EPLUS,EMINUS)
1001:                   TS(I)%DATA%BAD=.TRUE.1000:                   TS(I)%DATA%BAD=.TRUE.
1002:                   NTSGOOD=NTSGOOD-11001:                   NTSGOOD=NTSGOOD-1
1003:                   CYCLE1002:                   CYCLE
1004:                ELSEIF (PATHFAILT) THEN1003:                ELSEIF (PATHFAILT) THEN
1005:                     DEALLOCATE(TS(I)%DATA%EVALMIN)1004:                     DEALLOCATE(TS(I)%DATA%EVALMIN)
1006:                     DEALLOCATE(QPLUS,QMINUS,EPLUS,EMINUS)1005:                     DEALLOCATE(QPLUS,QMINUS,EPLUS,EMINUS)
1007:                     WRITE(*,'(A,I10,G20.10,A)') ' tryconnect> path failed for ts ', I, TS(I)%DATA%E, ', ts ignored' 1006:                     WRITE(*,*) ' tryconnect> path failed for ts ', I, TS(I)%DATA%E, ', ts ignored' 
1008:                     TS(I)%DATA%BAD=.TRUE.1007:                     TS(I)%DATA%BAD=.TRUE.
1009:                     NTSGOOD=NTSGOOD-11008:                     NTSGOOD=NTSGOOD-1
1010:                     CYCLE1009:                     CYCLE
1011:                ELSEIF (TS(I)%DATA%E-MIN(EPLUS,EMINUS).GT.MAXMAXBARRIER) THEN1010:                ELSEIF (TS(I)%DATA%E-MIN(EPLUS,EMINUS).GT.MAXMAXBARRIER) THEN
1012:                   PRINT '(2(A,G20.10))',' tryconnect> Transition state with energy ',TS(I)%DATA%E,' ignored, maximum barrier=', &1011:                   PRINT '(2(A,G20.10))',' tryconnect> Transition state with energy ',TS(I)%DATA%E,' ignored, maximum barrier=', &
1013:   &                                      TS(I)%DATA%E-MIN(EPLUS,EMINUS)1012:   &                                      TS(I)%DATA%E-MIN(EPLUS,EMINUS)
1014:                   DEALLOCATE(TS(I)%DATA%EVALMIN)1013:                   DEALLOCATE(TS(I)%DATA%EVALMIN)
1015:                   DEALLOCATE(QPLUS,QMINUS,EPLUS,EMINUS)1014:                   DEALLOCATE(QPLUS,QMINUS,EPLUS,EMINUS)
1016:                   TS(I)%DATA%BAD=.TRUE.1015:                   TS(I)%DATA%BAD=.TRUE.
1017:                   NTSGOOD=NTSGOOD-11016:                   NTSGOOD=NTSGOOD-1
1031:                       DEALLOCATE(TS(I)%DATA%EVALMIN)1030:                       DEALLOCATE(TS(I)%DATA%EVALMIN)
1032:                       DEALLOCATE(QPLUS,QMINUS,EPLUS,EMINUS)1031:                       DEALLOCATE(QPLUS,QMINUS,EPLUS,EMINUS)
1033:                     WRITE(*,*) ' tryconnect1> path failed for ts ', I, TS(I)%DATA%E, ', ts ignored'1032:                     WRITE(*,*) ' tryconnect1> path failed for ts ', I, TS(I)%DATA%E, ', ts ignored'
1034:                       TS(I)%DATA%BAD=.TRUE.1033:                       TS(I)%DATA%BAD=.TRUE.
1035:                       NTSGOOD=NTSGOOD-11034:                       NTSGOOD=NTSGOOD-1
1036:                       CYCLE 1035:                       CYCLE 
1037:                   ENDIF1036:                   ENDIF
1038:                ENDIF1037:                ENDIF
1039: 1038: 
1040: 333            CONTINUE1039: 333            CONTINUE
 1040: !              IF (I.EQ.195) DEBUG=.TRUE.
 1041: !              PRINT *,'tryconnect>  plus min'
1041:                CALL ISNEWMIN(EPLUS,QPLUS,MINPLUSPOS,PLUSNEW,REDOPATH,PERMUTE,INVERT,INDEX,IMATCH)1042:                CALL ISNEWMIN(EPLUS,QPLUS,MINPLUSPOS,PLUSNEW,REDOPATH,PERMUTE,INVERT,INDEX,IMATCH)
 1043: !              PRINT *,'tryconnect>  minus min'
1042:                CALL ISNEWMIN(EMINUS,QMINUS,MINMINUSPOS,MINUSNEW,REDOPATH,PERMUTE,INVERT,INDEX,IMATCH)1044:                CALL ISNEWMIN(EMINUS,QMINUS,MINMINUSPOS,MINUSNEW,REDOPATH,PERMUTE,INVERT,INDEX,IMATCH)
 1045: !              IF (I.EQ.195) THEN
 1046: !                 PRINT *,'calling ISNEWMIN again for both minima:'
 1047: !                 PRINT *,'tryconnect>  plus min'
 1048: !                 CALL ISNEWMIN(EPLUS,QPLUS,MINPLUSPOS,PLUSNEW,REDOPATH,PERMUTE,INVERT,INDEX,IMATCH)
 1049: !                 PRINT *,'tryconnect>  minus min'
 1050: !                 CALL ISNEWMIN(EMINUS,QMINUS,MINMINUSPOS,MINUSNEW,REDOPATH,PERMUTE,INVERT,INDEX,IMATCH)
 1051: !                 STOP
 1052: !              ENDIF
1043: !1053: !
1044: ! The above check will not discover the case when the plus minimum is new, and is the same1054: ! The above check will not discover the case when the plus minimum is new, and is the same
1045: ! as the minus minimum.1055: ! as the minus minimum.
1046: !1056: !
1047:                IF (PLUSNEW.AND.MINUSNEW) THEN1057:                IF (PLUSNEW.AND.MINUSNEW) THEN
1048:                   IF (ABS(EMINUS-EPLUS) < EDIFFTOL) THEN1058:                   IF (ABS(EMINUS-EPLUS) < EDIFFTOL) THEN
1049:                      CALL MINPERMDIST(QMINUS,QPLUS,NATOMS,DEBUG,PARAM1,PARAM2,PARAM3,BULKT,TWOD,D,DIST2,RIGIDBODY,RMAT)1059:                      CALL MINPERMDIST(QMINUS,QPLUS,NATOMS,DEBUG,PARAM1,PARAM2,PARAM3,BULKT,TWOD,D,DIST2,RIGIDBODY,RMAT)
1050:                      IF (D<GEOMDIFFTOL) THEN1060:                      IF (D<GEOMDIFFTOL) THEN
1051:                         MINUSNEW=.FALSE.1061:                         MINUSNEW=.FALSE.
1052:                         MINMINUSPOS=MINPLUSPOS1062:                         MINMINUSPOS=MINPLUSPOS
1090:                     ENDIF1100:                     ENDIF
1091:                     CALL NEWCONNECTION(MINPLUSPOS,MINMINUSPOS,I)1101:                     CALL NEWCONNECTION(MINPLUSPOS,MINMINUSPOS,I)
1092:                     CALL SETDISTANCE(MINPLUSPOS,MINMINUSPOS,0.0D0)1102:                     CALL SETDISTANCE(MINPLUSPOS,MINMINUSPOS,0.0D0)
1093:                     IF (INTERPCOSTFUNCTION) CALL SETINTERP(MINPLUSPOS,MINMINUSPOS,0.0D0)1103:                     IF (INTERPCOSTFUNCTION) CALL SETINTERP(MINPLUSPOS,MINMINUSPOS,0.0D0)
1094:                ENDIF1104:                ENDIF
1095:                IF (DOAGAIN(I-NTS+UNIQUE).AND.(.NOT.REDOPATH)) THEN1105:                IF (DOAGAIN(I-NTS+UNIQUE).AND.(.NOT.REDOPATH)) THEN
1096:                   PUSHOFF=SAVEPUSHOFF1106:                   PUSHOFF=SAVEPUSHOFF
1097:                ENDIF1107:                ENDIF
1098:           ENDDO1108:           ENDDO
1099:         ENDIF  1109:         ENDIF  
1100: 1110:           
1101:           !IF(ALLOCATED(FLATPATHT)) DEALLOCATE(FLATPATHT)1111:           !IF(ALLOCATED(FLATPATHT)) DEALLOCATE(FLATPATHT)
1102: !1112: !
1103: ! Allow for new pathway calculation with different PUSHOFF and MAXBFGS1113: ! Allow for new pathway calculation with different PUSHOFF and MAXBFGS
1104: !1114: !
1105:           IF (REDOPATH.AND.(.NOT.PATHFAILT)) THEN1115:           IF (REDOPATH) THEN
1106:              CALL MINPERMDIST(QP,MIN1REDO,NATOMS,DEBUG,PARAM1,PARAM2,PARAM3,BULKT,TWOD,D,DIST2,RIGIDBODY,RMAT)1116:              CALL MINPERMDIST(QP,MIN1REDO,NATOMS,DEBUG,PARAM1,PARAM2,PARAM3,BULKT,TWOD,D,DIST2,RIGIDBODY,RMAT)
1107:              DIST1P=D1117:              DIST1P=D
1108: 1118: 
1109:              CALL MINPERMDIST(QM,MIN1REDO,NATOMS,DEBUG,PARAM1,PARAM2,PARAM3,BULKT,TWOD,D,DIST2,RIGIDBODY,RMAT)1119:              CALL MINPERMDIST(QM,MIN1REDO,NATOMS,DEBUG,PARAM1,PARAM2,PARAM3,BULKT,TWOD,D,DIST2,RIGIDBODY,RMAT)
1110:              DIST1M=D1120:              DIST1M=D
1111: 1121: 
1112:              CALL MINPERMDIST(QM,MIN2REDO,NATOMS,DEBUG,PARAM1,PARAM2,PARAM3,BULKT,TWOD,D,DIST2,RIGIDBODY,RMAT)1122:              CALL MINPERMDIST(QM,MIN2REDO,NATOMS,DEBUG,PARAM1,PARAM2,PARAM3,BULKT,TWOD,D,DIST2,RIGIDBODY,RMAT)
1113:              DIST2M=D1123:              DIST2M=D
1114: 1124: 
1115:              CALL MINPERMDIST(QP,MIN2REDO,NATOMS,DEBUG,PARAM1,PARAM2,PARAM3,BULKT,TWOD,D,DIST2,RIGIDBODY,RMAT)1125:              CALL MINPERMDIST(QP,MIN2REDO,NATOMS,DEBUG,PARAM1,PARAM2,PARAM3,BULKT,TWOD,D,DIST2,RIGIDBODY,RMAT)


legend
Lines Added 
Lines changed
 Lines Removed

hdiff - version: 2.1.0