hdiff output

r30418/getmetric.f90 2016-05-10 10:30:05.095422636 +0100 r30417/getmetric.f90 2016-05-10 10:30:05.299425362 +0100
  1: SUBROUTINE GETMETRIC(NSTART,NFINISH) ! (NEWPOINTSMIN)  1: SUBROUTINE GETMETRIC(NSTART,NFINISH) ! (NEWPOINTSMIN)
  2: USE PORFUNCS  2: USE PORFUNCS
  3: USE COMMONS, ONLY : NMIN, PAIRDIST, PAIRLIST, PAIRDISTMAX, UMIN, NATOMS, DEBUG, BOXLX, BOXLY, BOXLZ, &  3: USE COMMONS, ONLY : NMIN, PAIRDIST, PAIRLIST, PAIRDISTMAX, UMIN, NATOMS, DEBUG, BOXLX, BOXLY, BOXLZ, &
  4:   &                BULKT, TWOD, RIGIDBODY, INTERPCOSTFUNCTION, ETS, PLUS, MINUS, NTS, PAIR1, PAIR2, &  4:   &                BULKT, TWOD, RIGIDBODY, INTERPCOSTFUNCTION, ETS, PLUS, MINUS, NTS, PAIR1, PAIR2, &
  5:   &                NPAIRDONE, INDEXCOSTFUNCTION, RANDOMMETRICT, NRANDOMMETRIC, GEOMDIFFTOL  5:   &                NPAIRDONE, INDEXCOSTFUNCTION, RANDOMMETRICT, NRANDOMMETRIC
  6: IMPLICIT NONE  6: IMPLICIT NONE
  7: INTEGER J1, J2, J3, J4, J5, ISTAT, BASIN(NMIN), NBASIN, NSTART, NFINISH, J6, NDONE  7: INTEGER J1, J2, J3, J4, J5, ISTAT, BASIN(NMIN), NBASIN, NSTART, NFINISH, J6, NDONE
  8: DOUBLE PRECISION LOCALPOINTS(3*NATOMS), NEWPOINTSMIN(3*NATOMS), DISTANCE, DIST2, RMAT(3,3), DPRAND  8: DOUBLE PRECISION LOCALPOINTS(3*NATOMS), NEWPOINTSMIN(3*NATOMS), DISTANCE, DIST2, RMAT(3,3), DPRAND
  9: DOUBLE PRECISION HIGHESTTS, ETHRESH  9: DOUBLE PRECISION HIGHESTTS, ETHRESH
 10: LOGICAL CHANGED 10: LOGICAL CHANGED
 11:  11: 
 12:  12: 
 13: ! 13: !
 14: ! Find highest transition state. 14: ! Find highest transition state.
 15: ! 15: !
 85:             CALL MINPERMDIST(LOCALPOINTS,NEWPOINTSMIN,NATOMS,DEBUG,BOXLX,BOXLY,BOXLZ,BULKT,TWOD,DISTANCE, & 85:             CALL MINPERMDIST(LOCALPOINTS,NEWPOINTSMIN,NATOMS,DEBUG,BOXLX,BOXLY,BOXLZ,BULKT,TWOD,DISTANCE, &
 86:   &                          DIST2,RIGIDBODY,RMAT,.FALSE.) 86:   &                          DIST2,RIGIDBODY,RMAT,.FALSE.)
 87:             IF (INTERPCOSTFUNCTION) THEN 87:             IF (INTERPCOSTFUNCTION) THEN
 88:                CALL MINPERMDIST(LOCALPOINTS,NEWPOINTSMIN,NATOMS,DEBUG,BOXLX,BOXLY,BOXLZ,BULKT,TWOD, & 88:                CALL MINPERMDIST(LOCALPOINTS,NEWPOINTSMIN,NATOMS,DEBUG,BOXLX,BOXLY,BOXLZ,BULKT,TWOD, &
 89:   &                             DISTANCE,DIST2,RIGIDBODY,RMAT,INTERPCOSTFUNCTION) 89:   &                             DISTANCE,DIST2,RIGIDBODY,RMAT,INTERPCOSTFUNCTION)
 90:             ENDIF 90:             ENDIF
 91: !     91: !    
 92: ! The interpolation metric could be zero for minima that are not actually connected. 92: ! The interpolation metric could be zero for minima that are not actually connected.
 93: ! Set a minimum non-zero value to avoid Dijinit thinking that they are connected. 93: ! Set a minimum non-zero value to avoid Dijinit thinking that they are connected.
 94: !  94: ! 
 95:              95: 
 96:             DISTANCE=MAX(DISTANCE,GEOMDIFFTOL/100.0) 96:             DISTANCE=MAX(DISTANCE,0.1D0)
 97:             !DISTANCE=MAX(DISTANCE,0.1D0) 
 98:          ENDIF 97:          ENDIF
 99:       ENDIF 98:       ENDIF
100: !     PRINT '(A,2I6,G20.10)','J6,J3,DISTANCE=',J6,J3,DISTANCE 99: !     PRINT '(A,2I6,G20.10)','J6,J3,DISTANCE=',J6,J3,DISTANCE
101: !100: !
102: ! Maintain sorted list of nearest nodes according to the chosen interpolation metric.101: ! Maintain sorted list of nearest nodes according to the chosen interpolation metric.
103: ! 102: ! 
104:       sortloop: DO J4=1,PAIRDISTMAX103:       sortloop: DO J4=1,PAIRDISTMAX
105:          IF (DISTANCE.LT.PAIRDIST(J6,J4)) THEN104:          IF (DISTANCE.LT.PAIRDIST(J6,J4)) THEN
106:             DO J5=PAIRDISTMAX,J4+1,-1105:             DO J5=PAIRDISTMAX,J4+1,-1
107:                PAIRDIST(J6,J5)=PAIRDIST(J6,J5-1)106:                PAIRDIST(J6,J5)=PAIRDIST(J6,J5-1)
175:   &                       DIST2,RIGIDBODY,RMAT,.FALSE.)174:   &                       DIST2,RIGIDBODY,RMAT,.FALSE.)
176:          IF (INTERPCOSTFUNCTION) THEN175:          IF (INTERPCOSTFUNCTION) THEN
177:             CALL MINPERMDIST(LOCALPOINTS,NEWPOINTSMIN,NATOMS,DEBUG,BOXLX,BOXLY,BOXLZ,BULKT,TWOD, &176:             CALL MINPERMDIST(LOCALPOINTS,NEWPOINTSMIN,NATOMS,DEBUG,BOXLX,BOXLY,BOXLZ,BULKT,TWOD, &
178:   &                          DISTANCE,DIST2,RIGIDBODY,RMAT,INTERPCOSTFUNCTION)177:   &                          DISTANCE,DIST2,RIGIDBODY,RMAT,INTERPCOSTFUNCTION)
179:          ENDIF178:          ENDIF
180: !    179: !    
181: ! The interpolation metric could be zero for minima that are not actually connected.180: ! The interpolation metric could be zero for minima that are not actually connected.
182: ! Set a minimum non-zero value to avoid Dijinit thinking that they are connected.181: ! Set a minimum non-zero value to avoid Dijinit thinking that they are connected.
183: ! 182: ! 
184: 183: 
185:          DISTANCE=MAX(DISTANCE,GEOMDIFFTOL/100.0)184:          DISTANCE=MAX(DISTANCE,0.1D0)
186:          !DISTANCE=MAX(DISTANCE,0.1D0) 
187:       ENDIF185:       ENDIF
188: !186: !
189: ! Maintain sorted list of nearest nodes according to the chosen interpolation metric.187: ! Maintain sorted list of nearest nodes according to the chosen interpolation metric.
190: ! 188: ! 
191:       ransortloop: DO J4=1,PAIRDISTMAX189:       ransortloop: DO J4=1,PAIRDISTMAX
192:          IF (DISTANCE.LT.PAIRDIST(J6,J4)) THEN190:          IF (DISTANCE.LT.PAIRDIST(J6,J4)) THEN
193:             DO J5=PAIRDISTMAX,J4+1,-1191:             DO J5=PAIRDISTMAX,J4+1,-1
194:                PAIRDIST(J6,J5)=PAIRDIST(J6,J5-1)192:                PAIRDIST(J6,J5)=PAIRDIST(J6,J5-1)
195:                PAIRLIST(J6,J5)=PAIRLIST(J6,J5-1)193:                PAIRLIST(J6,J5)=PAIRLIST(J6,J5-1)
196:             ENDDO194:             ENDDO


legend
Lines Added 
Lines changed
 Lines Removed

hdiff - version: 2.1.0