hdiff output

r30225/commons.f90 2017-01-21 10:41:38.295734409 +0000 r30224/commons.f90 2017-01-21 10:41:39.675789938 +0000
 78: ! MAXDONE 78: ! MAXDONE
 79:       INTEGER, ALLOCATABLE :: MINDONE(:) 79:       INTEGER, ALLOCATABLE :: MINDONE(:)
 80: ! NATOMS 80: ! NATOMS
 81:       INTEGER, ALLOCATABLE :: NPERMSIZE(:), PERMGROUP(:) 81:       INTEGER, ALLOCATABLE :: NPERMSIZE(:), PERMGROUP(:)
 82:       INTEGER, ALLOCATABLE :: NSETS(:) 82:       INTEGER, ALLOCATABLE :: NSETS(:)
 83:       INTEGER, ALLOCATABLE :: SETS(:,:) 83:       INTEGER, ALLOCATABLE :: SETS(:,:)
 84:       INTEGER, ALLOCATABLE :: TAGNUM(:) 84:       INTEGER, ALLOCATABLE :: TAGNUM(:)
 85:       LOGICAL, ALLOCATABLE, DIMENSION(:) :: FROZEN, INTFROZEN 85:       LOGICAL, ALLOCATABLE, DIMENSION(:) :: FROZEN, INTFROZEN
 86:  86: 
 87:       INTEGER NFSTART, NFFINISH, NINTS, NCONNMIN, CONNECTMIN1, CONNECTMIN2, NFREEZE, NPATHS, PARALLEL, NRANDOMMETRIC, & 87:       INTEGER NFSTART, NFFINISH, NINTS, NCONNMIN, CONNECTMIN1, CONNECTMIN2, NFREEZE, NPATHS, PARALLEL, NRANDOMMETRIC, &
 88:      &        METRICUPAIR, METMATMAX, NPRUNE   88:      &        METRICUPAIR, METMATMAX  
 89:  89: 
 90:       LOGICAL YESNO, TEST1, TEST2, DEBUG, PRINTT, ADDPT, ADDPT2, ADDPT3, TWOD, BULKT, ANGLEAXIS, TAGT, & 90:       LOGICAL YESNO, TEST1, TEST2, DEBUG, PRINTT, ADDPT, ADDPT2, ADDPT3, TWOD, BULKT, ANGLEAXIS, TAGT, &
 91:      &        CHARMMT, AMBERT, STARTFROMPATH, RELATIVEET, & 91:      &        CHARMMT, AMBERT, STARTFROMPATH, RELATIVEET, &
 92:      &        KMCT, UNRST, KMCCOMMITT, REGROUPT, REGROUPRATET, REGROUPPET, NOPOINTS, ADDPATH, NGTT, GTT, GT2T, & 92:      &        KMCT, UNRST, KMCCOMMITT, REGROUPT, REGROUPRATET, REGROUPPET, NOPOINTS, ADDPATH, NGTT, GTT, GT2T, &
 93:      &        DIJKSTRAT, DIJPAIRT, DIJINITT, EXTRACTMINT, EXTRACTTST, DIJKSTRAWAITT, UNTRAPMETRICT, & 93:      &        DIJKSTRAT, DIJPAIRT, DIJINITT, EXTRACTMINT, EXTRACTTST, DIJKSTRAWAITT, UNTRAPMETRICT, &
 94:      &        EXPCOSTFUNCTION, COPYOPTIMT, CALCORDERT, CONNECTREGIONT, SHORTCUTT, MERGEDBT, UNTRAPT, AMHT,  AMHALLATOMMINT, & 94:      &        EXPCOSTFUNCTION, COPYOPTIMT, CALCORDERT, CONNECTREGIONT, SHORTCUTT, MERGEDBT, UNTRAPT, AMHT,  AMHALLATOMMINT, &
 95:      &        CHECKCONNECTIONST, AMHALLATOMTST, AMHQT,AMHQENGMINT, AMHQCONTT ,AMHRMSDT, AMHRELQT, AMH_RELCOT, DIAGT, ARNOLDIT, & 95:      &        CHECKCONNECTIONST, AMHALLATOMTST, AMHQT,AMHQENGMINT, AMHQCONTT ,AMHRMSDT, AMHRELQT, AMH_RELCOT, DIAGT, ARNOLDIT, &
 96:      &        GT2Sparse, GT2Switch, GT2AltPbb, GT2Rescale, GT2Normalise, GT2DisconnectSources, BARRIERSORT, & 96:      &        GT2Sparse, GT2Switch, GT2AltPbb, GT2Rescale, GT2Normalise, GT2DisconnectSources, BARRIERSORT, &
 97:      &        PERMDIST, PERMISOMER, RIGIDBODY, DIJINITSTARTT, DIJINITCONTT, RETAINSP, REMOVESP, NOFRQS, & 97:      &        PERMDIST, PERMISOMER, RIGIDBODY, DIJINITSTARTT, DIJINITCONTT, RETAINSP, REMOVESP, NOFRQS, &
 98:      &        BARRIERSHORT, FREEZE, RATESHORT, DUMMYRUNT, REWEIGHTT, REGROUPFREET, RFMULTIT, REGROUPFREEABT, READMINT, & 98:      &        BARRIERSHORT, FREEZE, RATESHORT, DUMMYRUNT, REWEIGHTT, REGROUPFREET, RFMULTIT, REGROUPFREEABT, READMINT, &
 99:      &        DUMPGROUPST, FREEPAIRT, KSHORTESTPATHST, KSHORT_FULL_PRINTT, DIJINITFLYT, BHINTERPT, ICINTERPT, & 99:      &        DUMPGROUPST, FREEPAIRT, KSHORTESTPATHST, KSHORT_FULL_PRINTT, DIJINITFLYT, BHINTERPT, ICINTERPT, &
100:      &        DUMMYTST, DOCKT, DSTAGE(6), USEPAIRST, LOWESTFRQT, BISECTT, NGTDISCONNECTALL, ANGLEAXIS2, TFOLDT, &100:      &        DUMMYTST, DOCKT, DSTAGE(6), USEPAIRST, LOWESTFRQT, BISECTT, NGTDISCONNECTALL, ANGLEAXIS2, TFOLDT, &
101:      &        SLURMT, INDEXCOSTFUNCTION, CVT, CVMINIMAT, DOST, IMFRQT, CLOSEFILEST, PULLT, FRICTIONT, ATOMMATCHFULL, &101:      &        SLURMT, INDEXCOSTFUNCTION, CVT, CVMINIMAT, DOST, IMFRQT, CLOSEFILEST, PULLT, FRICTIONT, ATOMMATCHFULL, &
102:      &        INTCONSTRAINTT, CHECKCONINT, INTLJT, INTERPCOSTFUNCTION, REMOVEUNCONNECTEDT, ATOMMATCHDIST, &102:      &        INTCONSTRAINTT, CHECKCONINT, INTLJT, INTERPCOSTFUNCTION, REMOVEUNCONNECTEDT, ATOMMATCHDIST, &
103:      &        DBPT, DBPTDT, DMBLPYT, EFIELDT, MSSTOCKT, NTIPT, PAHAT, PAPT, PATCHYDT, STOCKAAT, RBAAT, RBSYMT, TRAPT, SILANET, &103:      &        DBPT, DBPTDT, DMBLPYT, EFIELDT, MSSTOCKT, NTIPT, PAHAT, PAPT, PATCHYDT, STOCKAAT, RBAAT, RBSYMT, TRAPT, SILANET, &
104:      &        OHCELLT, INTFREEZET, LPERMDIST, PBST, RANDOMMETRICT, SSHT, ALLTST, USERPOTT, CHECKMINT, &104:      &        OHCELLT, INTFREEZET, LPERMDIST, PBST, RANDOMMETRICT, SSHT, ALLTST, USERPOTT, CHECKMINT, &
105:      &        CHECKTST, CHECKSPT, FROMLOWESTT, ADDMINXYZT, MACHINE, RATESCYCLET, NOINVERSION, NEWCONNECTIONST, NIMET, NIHEAM7T, &105:      &        CHECKTST, CHECKSPT, FROMLOWESTT, ADDMINXYZT, MACHINE, RATESCYCLET, NOINVERSION, NEWCONNECTIONST, NIMET, NIHEAM7T, &
106:      &        NIH2LEPST, DISTANCET, RATETARGETT, TARGETHIT, ALLOWABT, MICROTHERMT, RFKMCT, REGROUPKMCT, ONEREGROUPT, PHI4MODT, &106:      &        NIH2LEPST, DISTANCET, RATETARGETT, TARGETHIT, ALLOWABT, MICROTHERMT, RFKMCT, REGROUPKMCT, ONEREGROUPT, PHI4MODT, &
107:      &        PERSISTT, REGROUPPERSISTT, NOLABELST, SHANNONT, MAKEPAIRS, SKIPPAIRST, PERSISTAPPROXT, ALLCOMPONENTST, &107:      &        PERSISTT, REGROUPPERSISTT, NOLABELST, SHANNONT, MAKEPAIRS, SKIPPAIRST, PERSISTAPPROXT, ALLCOMPONENTST, &
108:      &        SHANNONRT, SHANNONZT, CUDAT, MLLJAT3, MLP3T, DIJPRUNET, PRINTSUMMARYT, MKTRAPT, MLPB3T, PRUNECYCLET, PAIRSIGNORET108:      &        SHANNONRT, SHANNONZT, CUDAT, MLLJAT3, MLP3T, DIJPRUNET, PRINTSUMMARYT, MKTRAPT, MLPB3T
109: 109: 
110:       LOGICAL, ALLOCATABLE :: SHIFTABLE(:)110:       LOGICAL, ALLOCATABLE :: SHIFTABLE(:)
111:       CHARACTER(LEN=80) COORDSLIGANDSTR, COORDSCOMPLEXSTR, COORDSPROTEINSTR111:       CHARACTER(LEN=80) COORDSLIGANDSTR, COORDSCOMPLEXSTR, COORDSPROTEINSTR
112:       CHARACTER(LEN=80) EXEC,EXECGMIN112:       CHARACTER(LEN=80) EXEC,EXECGMIN
113:       CHARACTER(LEN=80) PATHNAME, MINNAME, ADDMINXYZNAME, ALLCOMPS113:       CHARACTER(LEN=80) PATHNAME, MINNAME, ADDMINXYZNAME, ALLCOMPS
114:       CHARACTER(LEN=150) COPYFILES114:       CHARACTER(LEN=150) COPYFILES
115:       CHARACTER(LEN=80) USEPAIRSFILE115:       CHARACTER(LEN=80) USEPAIRSFILE
116:       CHARACTER(LEN=80) MAKEPAIRSFILE116:       CHARACTER(LEN=80) MAKEPAIRSFILE
117:       CHARACTER(LEN=2) DIRECTION117:       CHARACTER(LEN=2) DIRECTION
118:       CHARACTER(LEN=5) UNCONNECTEDS118:       CHARACTER(LEN=5) UNCONNECTEDS


r30225/Dijinit.f90 2017-01-21 10:41:38.071725380 +0000 r30224/Dijinit.f90 2017-01-21 10:41:39.431780137 +0000
 21: ! 21: !
 22: !  Dijkstra connection algorithm for pathsample. 22: !  Dijkstra connection algorithm for pathsample.
 23: ! 23: !
 24: SUBROUTINE DIJINIT(NWORST) 24: SUBROUTINE DIJINIT(NWORST)
 25: USE PORFUNCS 25: USE PORFUNCS
 26: USE COMMONS 26: USE COMMONS
 27: USE UTILS,ONLY : GETUNIT 27: USE UTILS,ONLY : GETUNIT
 28: IMPLICIT NONE 28: IMPLICIT NONE
 29:  29: 
 30: INTEGER J1, J2, J4, PARENT(NMIN), JMINW, NPERM, J5, LJ1, LJ2, NWORST, NSTEPS, NMINSTART, NMINEND, J6, MUNIT, J7 30: INTEGER J1, J2, J4, PARENT(NMIN), JMINW, NPERM, J5, LJ1, LJ2, NWORST, NSTEPS, NMINSTART, NMINEND, J6, MUNIT, J7
 31: INTEGER NMINGAP, NPRUNEDONE, NPRUNEPAIRS, NPRUNEMIN,NPRUNEPAIRSOLD 31: INTEGER NMINGAP
 32: INTEGER, ALLOCATABLE :: LOCATIONSTART(:), LOCATIONEND(:), PRUNEPAIRS(:,:) 32: INTEGER, ALLOCATABLE :: LOCATIONSTART(:), LOCATIONEND(:)
 33: LOGICAL PERMANENT(NMIN), ISA(NMIN), ISB(NMIN), ISSTART(NMIN), NOTDONE, PRUNEMIN(NMIN) 33: LOGICAL PERMANENT(NMIN), ISA(NMIN), ISB(NMIN), ISSTART(NMIN), NOTDONE
 34: DOUBLE PRECISION MINWEIGHT, DUMMY, TNEW, ELAPSED, PFTOTALSTART, HUGESAVE, THRESH 34: DOUBLE PRECISION MINWEIGHT, DUMMY, TNEW, ELAPSED, PFTOTALSTART, HUGESAVE, THRESH
 35: DOUBLE PRECISION MAXWEIGHT, SCALEFAC, PDMAX, PD, MINGAPTHRESH 35: DOUBLE PRECISION MAXWEIGHT, SCALEFAC, PDMAX, PD, MINGAPTHRESH
  36: INTEGER, DIMENSION(:), ALLOCATABLE :: PATHMINS
 36: ! 37: !
 37: ! KIND=16 is not supported by Portland. If you want extra precision, uncomment the following line 38: ! KIND=16 is not supported by Portland. If you want extra precision, uncomment the following line
 38: ! and use NAG. 39: ! and use NAG.
 39: ! 40: !
 40: ! REAL(KIND=16) :: TMPWEIGHT, WEIGHT(NMIN) 41: ! REAL(KIND=16) :: TMPWEIGHT, WEIGHT(NMIN)
 41: REAL(KIND=8) :: TMPWEIGHT, WEIGHT(NMIN) 42: REAL(KIND=8) :: TMPWEIGHT, WEIGHT(NMIN)
 42:  43: 
 43: IF (DIJPRUNET) THEN 
 44:    MUNIT=GETUNIT() 
 45:    IF (.NOT.(PRUNECYCLET)) NPRUNE=1 
 46:    NPRUNEDONE=0 
 47:    NPRUNEPAIRS=0 
 48:    ALLOCATE(PRUNEPAIRS(2,10000)) 
 49: ENDIF 
 50: PRUNEMIN(1:NMIN)=.FALSE. 
 51:  44: 
 52: CALL CPU_TIME(ELAPSED) 45: CALL CPU_TIME(ELAPSED)
 53: 121 DEALLOCATE(DMIN1,DMIN2) 46: 121 DEALLOCATE(DMIN1,DMIN2)
 54: ALLOCATE(DMIN1(10000),DMIN2(10000)) ! surely this will be enough room! 47: ALLOCATE(DMIN1(10000),DMIN2(10000)) ! surely this will be enough room!
  48: IF (DIJPRUNET) THEN
  49:    MUNIT=GETUNIT()
  50:    ALLOCATE(PATHMINS(10000)) !change if more needed, but 10000 should be enough for most uses
  51:    PRINT '(A)',' dijprune> Maximum number of minima on path is 10000.'
  52: ENDIF
 55: ISA(1:NMIN)=.FALSE. 53: ISA(1:NMIN)=.FALSE.
 56: ISB(1:NMIN)=.FALSE. 54: ISB(1:NMIN)=.FALSE.
 57: DO J1=1,NMINA 55: DO J1=1,NMINA
 58:    ISA(LOCATIONA(J1))=.TRUE. 56:    ISA(LOCATIONA(J1))=.TRUE.
 59: ENDDO 57: ENDDO
 60: DO J1=1,NMINB 58: DO J1=1,NMINB
 61:    ISB(LOCATIONB(J1))=.TRUE. 59:    ISB(LOCATIONB(J1))=.TRUE.
 62: ENDDO 60: ENDDO
 63: IF (DIJPRUNET) NPRUNEPAIRSOLD=NPRUNEPAIRS 
 64:  61: 
 65: !!!!!!!!!!!!!!!!!!!   Dijkstra calculation    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 62: !!!!!!!!!!!!!!!!!!!   Dijkstra calculation    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 66: ! 63: !
 67: !  Dijkstra connect process similar to that in OPTIM with a weight for missing 64: !  Dijkstra connect process similar to that in OPTIM with a weight for missing
 68: !  connections based on a distance metric. 65: !  connections based on a distance metric.
 69: ! 66: !
 70: IF (DIRECTION.EQ.'AB') THEN 67: IF (DIRECTION.EQ.'AB') THEN
 71:    NMINSTART=NMINB 68:    NMINSTART=NMINB
 72:    NMINEND=NMINA 69:    NMINEND=NMINA
 73:    ALLOCATE(LOCATIONSTART(NMINB),LOCATIONEND(NMINA)) 70:    ALLOCATE(LOCATIONSTART(NMINB),LOCATIONEND(NMINA))
122:    PERMANENT(1:NMIN)=.FALSE.119:    PERMANENT(1:NMIN)=.FALSE.
123:    PERMANENT(LJ1)=.TRUE.120:    PERMANENT(LJ1)=.TRUE.
124:    NPERM=1121:    NPERM=1
125:    PARENT(1:NMIN)=0 ! parent is initially undefined122:    PARENT(1:NMIN)=0 ! parent is initially undefined
126:    J4=LJ1123:    J4=LJ1
127:    dijkstraloop: DO124:    dijkstraloop: DO
128:       DO J2=1,NMIN125:       DO J2=1,NMIN
129:          IF (J2.EQ.J4) CYCLE126:          IF (J2.EQ.J4) CYCLE
130:          IF (PERMANENT(J2)) CYCLE127:          IF (PERMANENT(J2)) CYCLE
131:          PD=1.0D4*PDMAX128:          PD=1.0D4*PDMAX
132:          IF (.NOT.PAIRSIGNORET) THEN !for pruning the database all minima count not just the ones not searched yet129:          IF (.NOT.DIJPRUNET) THEN !for pruning the database all minima count not just the ones not searched yet
133:             DO J5=1,NPAIRDONE ! skip130:             DO J5=1,NPAIRDONE ! skip
134:           !     IF ((PAIR1(J5).EQ.J4).AND.(PAIR2(J5).EQ.J2)) GOTO 973131:           !     IF ((PAIR1(J5).EQ.J4).AND.(PAIR2(J5).EQ.J2)) GOTO 973
135:           !     IF ((PAIR1(J5).EQ.J2).AND.(PAIR2(J5).EQ.J4)) GOTO 973132:           !     IF ((PAIR1(J5).EQ.J2).AND.(PAIR2(J5).EQ.J4)) GOTO 973
136: !kr366> check if pair has been searched before, if enter DO loop to check if PAIRDIST133: !kr366> check if pair has been searched before, if enter DO loop to check if PAIRDIST
137: !is 0.0D0: If yes go to 973, else set PAIRDIST to 1.0D4*PDMAX134: !is 0.0D0: If yes go to 973, else set PAIRDIST to 1.0D4*PDMAX
138:                 IF ((PAIR1(J5).EQ.J4).AND.(PAIR2(J5).EQ.J2)) THEN 135:                 IF ((PAIR1(J5).EQ.J4).AND.(PAIR2(J5).EQ.J2)) THEN 
139:                    DO J6=1,PAIRDISTMAX136:                    DO J6=1,PAIRDISTMAX
140:                       IF (PAIRLIST(J4,J6).EQ.J2) THEN137:                       IF (PAIRLIST(J4,J6).EQ.J2) THEN
141:                          PD=PAIRDIST(J4,J6)138:                          PD=PAIRDIST(J4,J6)
142:                          IF (PD.EQ.0.0D0) THEN139:                          IF (PD.EQ.0.0D0) THEN
157:                             GOTO 973154:                             GOTO 973
158:                          ELSE155:                          ELSE
159:                             PD=1.0D4*PDMAX156:                             PD=1.0D4*PDMAX
160:                             GOTO 973157:                             GOTO 973
161:                          ENDIF158:                          ENDIF
162:                       ENDIF159:                       ENDIF
163:                    ENDDO160:                    ENDDO
164:                    GOTO 973161:                    GOTO 973
165:                 ENDIF162:                 ENDIF
166:             ENDDO163:             ENDDO
167:          ENDIF 
168:          IF (PRUNECYCLET.AND.(NPRUNEPAIRSOLD.GT.0)) THEN 
169:             DO J5=1,NPRUNEPAIRS 
170:                IF ((PRUNEPAIRS(1,J5).EQ.J4).AND.(PRUNEPAIRS(2,J5).EQ.J2)) THEN 
171:                   IF (DEBUG) PRINT '(A,2I8)','pruning> pair used: ',PRUNEPAIRS(1,J5),PRUNEPAIRS(2,J5) 
172:                   PD=1.0D4*PDMAX 
173:                   GOTO 973 
174:                ENDIF 
175:                IF ((PRUNEPAIRS(2,J5).EQ.J4).AND.(PRUNEPAIRS(1,J5).EQ.J2)) THEN 
176:                   IF (DEBUG) PRINT '(A,2I8)','pruning> pair used: ',PRUNEPAIRS(1,J5),PRUNEPAIRS(2,J5) 
177:                   PD=1.0D4*PDMAX 
178:                   GOTO 973 
179:                ENDIF 
180:             ENDDO 
181:          ENDIF 164:          ENDIF 
182:          DO J5=1,PAIRDISTMAX165:          DO J5=1,PAIRDISTMAX
183:             IF (PAIRLIST(J4,J5).EQ.J2) THEN166:             IF (PAIRLIST(J4,J5).EQ.J2) THEN
184:                PD=PAIRDIST(J4,J5)167:                PD=PAIRDIST(J4,J5)
185:                GOTO 973168:                GOTO 973
186:             ENDIF169:             ENDIF
187:          ENDDO170:          ENDDO
188:          DO J5=1,PAIRDISTMAX171:          DO J5=1,PAIRDISTMAX
189:             IF (PAIRLIST(J2,J5).EQ.J4) THEN172:             IF (PAIRLIST(J2,J5).EQ.J4) THEN
190:                PD=PAIRDIST(J2,J5)173:                PD=PAIRDIST(J2,J5)
280: !  Summarise the best path for any A(B) and any B(A)263: !  Summarise the best path for any A(B) and any B(A)
281: !264: !
282: LJ2=LOCATIONEND(1)265: LJ2=LOCATIONEND(1)
283: LJ1=LOCATIONSTART(1)266: LJ1=LOCATIONSTART(1)
284: J5=LJ2267: J5=LJ2
285: NWORST=0268: NWORST=0
286: NSTEPS=0269: NSTEPS=0
287: IF (MINGAPT) NMINGAP=0270: IF (MINGAPT) NMINGAP=0
288: PRINT '(A)','Dijinit> Summary of best path based on missing connection metric - note distance scaling is removed'271: PRINT '(A)','Dijinit> Summary of best path based on missing connection metric - note distance scaling is removed'
289: PRINT '(A)','    min1          energy        min2          energy             metric          edge weight            weight'272: PRINT '(A)','    min1          energy        min2          energy             metric          edge weight            weight'
 273: IF (DIJPRUNET) OPEN(MUNIT,FILE='min.retain',POSITION='APPEND',ACTION='WRITE',STATUS='NEW')
290: DO 274: DO 
291:    IF (PARENT(J5).EQ.0) THEN275:    IF (PARENT(J5).EQ.0) THEN
292:       PRINT '(A,I6,A)','Dijinit> ERROR - parent for J5=',J5,' is zero'276:       PRINT '(A,I6,A)','Dijinit> ERROR - parent for J5=',J5,' is zero'
293:       PRINT '(A)',     'Dijinit> Suggests all possible pairs have been tried!'277:       PRINT '(A)',     'Dijinit> Suggests all possible pairs have been tried!'
294:       STOP278:       STOP
295:    ENDIF279:    ENDIF
296: !  DUMMY=PAIRDIST(MAX(J5,PARENT(J5))*(MAX(J5,PARENT(J5))-1)/2+MIN(J5,PARENT(J5)))*SCALEFAC280: !  DUMMY=PAIRDIST(MAX(J5,PARENT(J5))*(MAX(J5,PARENT(J5))-1)/2+MIN(J5,PARENT(J5)))*SCALEFAC
297:    DUMMY=1.0D4*PDMAX*SCALEFAC281:    DUMMY=1.0D4*PDMAX*SCALEFAC
298:    IF (.NOT.PAIRSIGNORET) THEN282:    DO J2=1,NPAIRDONE ! skip
299:      DO J2=1,NPAIRDONE ! skip 
300: !      IF ((PAIR1(J2).EQ.J5).AND.(PAIR2(J2).EQ.PARENT(J5))) GOTO 864283: !      IF ((PAIR1(J2).EQ.J5).AND.(PAIR2(J2).EQ.PARENT(J5))) GOTO 864
301: !      IF ((PAIR1(J2).EQ.PARENT(J5)).AND.(PAIR2(J2).EQ.J5)) GOTO 864284: !      IF ((PAIR1(J2).EQ.PARENT(J5)).AND.(PAIR2(J2).EQ.J5)) GOTO 864
302:        IF ((PAIR1(J2).EQ.J5).AND.(PAIR2(J2).EQ.PARENT(J5))) THEN285:        IF ((PAIR1(J2).EQ.J5).AND.(PAIR2(J2).EQ.PARENT(J5))) THEN
303:           DO J6=1,PAIRDISTMAX286:           DO J6=1,PAIRDISTMAX
304:              IF (PAIRLIST(J5,J6).EQ.PARENT(J5)) THEN287:              IF (PAIRLIST(J5,J6).EQ.PARENT(J5)) THEN
305:                 DUMMY=PAIRDIST(J5,J6)*SCALEFAC288:                 DUMMY=PAIRDIST(J5,J6)*SCALEFAC
306:                 IF (DUMMY.EQ.0.0D0) THEN289:                 IF (DUMMY.EQ.0.0D0) THEN
307:                    GOTO 864290:                    GOTO 864
308:                 ELSE291:                 ELSE
309:                    DUMMY=1.0D4*PDMAX*SCALEFAC292:                    DUMMY=1.0D4*PDMAX*SCALEFAC
320:                  IF (DUMMY.EQ.0.0D0) THEN303:                  IF (DUMMY.EQ.0.0D0) THEN
321:                      GOTO 864304:                      GOTO 864
322:                  ELSE305:                  ELSE
323:                     DUMMY=1.0D4*PDMAX*SCALEFAC306:                     DUMMY=1.0D4*PDMAX*SCALEFAC
324:                     GOTO 864307:                     GOTO 864
325:                  ENDIF308:                  ENDIF
326:               ENDIF309:               ENDIF
327:            ENDDO310:            ENDDO
328:            GOTO 864311:            GOTO 864
329:         ENDIF312:         ENDIF
330:       ENDDO313:    ENDDO 
331:    ENDIF 
332:    IF (PRUNECYCLET.AND.(NPRUNEPAIRSOLD.GT.0)) THEN 
333:       DO J2=1,NPRUNEPAIRSOLD 
334:          IF ((PRUNEPAIRS(1,J2).EQ.J5).AND.(PRUNEPAIRS(2,J2).EQ.PARENT(J5))) THEN 
335:             IF (DEBUG) PRINT '(A,2I8)','pruning> pair used: ',PRUNEPAIRS(1,J2),PRUNEPAIRS(2,J2) 
336:             DUMMY=1.0D4*PDMAX*SCALEFAC 
337:             GOTO 864 
338:          ENDIF 
339:          IF ((PRUNEPAIRS(2,J2).EQ.PARENT(J5)).AND.(PRUNEPAIRS(1,J2).EQ.J5)) THEN 
340:             IF (DEBUG) PRINT '(A,2I8)','pruning> pair used: ',PRUNEPAIRS(1,J2),PRUNEPAIRS(2,J2) 
341:             DUMMY=1.0D4*PDMAX*SCALEFAC 
342:             GOTO 864 
343:          ENDIF 
344:       ENDDO 
345:    ENDIF 
346:    DO J2=1,PAIRDISTMAX314:    DO J2=1,PAIRDISTMAX
347:       IF (PAIRLIST(J5,J2).EQ.PARENT(J5)) THEN315:       IF (PAIRLIST(J5,J2).EQ.PARENT(J5)) THEN
348:          DUMMY=PAIRDIST(J5,J2)*SCALEFAC316:          DUMMY=PAIRDIST(J5,J2)*SCALEFAC
349:          GOTO 864317:          GOTO 864
350:       ENDIF318:       ENDIF
351:    ENDDO319:    ENDDO
352:    DO J2=1,PAIRDISTMAX320:    DO J2=1,PAIRDISTMAX
353:       IF (PAIRLIST(PARENT(J5),J2).EQ.J5) THEN321:       IF (PAIRLIST(PARENT(J5),J2).EQ.J5) THEN
354:          DUMMY=PAIRDIST(PARENT(J5),J2)*SCALEFAC322:          DUMMY=PAIRDIST(PARENT(J5),J2)*SCALEFAC
355:          GOTO 864323:          GOTO 864
390:          ELSE358:          ELSE
391:             TMPWEIGHT=DUMMY**COSTFUNCTIONPOWER359:             TMPWEIGHT=DUMMY**COSTFUNCTIONPOWER
392:          ENDIF360:          ENDIF
393:       ENDIF361:       ENDIF
394:    ELSE362:    ELSE
395:       TMPWEIGHT=DUMMY363:       TMPWEIGHT=DUMMY
396:    ENDIF364:    ENDIF
397:    NSTEPS=NSTEPS+1365:    NSTEPS=NSTEPS+1
398:    366:    
399:    PRINT '(2(I8,G20.10),3G20.10)',J5,EMIN(J5),parent(J5),EMIN(PARENT(J5)),DUMMY/SCALEFAC,TMPWEIGHT,WEIGHT(J5)367:    PRINT '(2(I8,G20.10),3G20.10)',J5,EMIN(J5),parent(J5),EMIN(PARENT(J5)),DUMMY/SCALEFAC,TMPWEIGHT,WEIGHT(J5)
400:    IF (DIJPRUNET) PRUNEMIN(J5)=.TRUE.368:    IF (DIJPRUNET) PATHMINS(NSTEPS)=J5
401:    IF (DEBUG) PRINT '(A,I8)','pruning> minimum added to min.retain: ',J5 
402:    THRESH=0.0D0369:    THRESH=0.0D0
403:    IF (BHINTERPT) THRESH=BHDISTTHRESH ! for bhinterp runs raise the threshold to BHDISTTHRESH370:    IF (BHINTERPT) THRESH=BHDISTTHRESH ! for bhinterp runs raise the threshold to BHDISTTHRESH
404:    IF (BISECTT) THRESH=BISECTMINDIST ! for bisect runs raise the threshold to BISECTMINDIST371:    IF (BISECTT) THRESH=BISECTMINDIST ! for bisect runs raise the threshold to BISECTMINDIST
405:    IF ((DUMMY/SCALEFAC.GT.THRESH).AND.(TMPWEIGHT.LT.HUGE(1.0D0)/10.0D0)) THEN372:    IF ((DUMMY/SCALEFAC.GT.THRESH).AND.(TMPWEIGHT.LT.HUGE(1.0D0)/10.0D0)) THEN
406:       NWORST=NWORST+1373:       NWORST=NWORST+1
407:       IF (PRUNECYCLET) THEN 
408:          NPRUNEPAIRS=NPRUNEPAIRS+1 
409:          PRUNEPAIRS(1,NPRUNEPAIRS)=J5 
410:          PRUNEPAIRS(2,NPRUNEPAIRS)=PARENT(J5) 
411:       ENDIF 
412:       IF (NWORST.GT.10000) THEN374:       IF (NWORST.GT.10000) THEN
413:          PRINT '(A,I8)','ERROR in Dijinit, too many gaps, NWORST=',NWORST375:          PRINT '(A,I8)','ERROR in Dijinit, too many gaps, NWORST=',NWORST
414:          STOP376:          STOP
415:       ENDIF377:       ENDIF
416:       IF (.NOT.MINGAPT) THEN378:       IF (.NOT.MINGAPT) THEN
417:          DMIN1(NWORST)=J5379:          DMIN1(NWORST)=J5
418:          DMIN2(NWORST)=PARENT(J5)380:          DMIN2(NWORST)=PARENT(J5)
419:       ELSE381:       ELSE
420:          IF (DUMMY/SCALEFAC.GT.MINGAPTHRESH) THEN382:          IF (DUMMY/SCALEFAC.GT.MINGAPTHRESH) THEN
421:             NMINGAP=NMINGAP+1383:             NMINGAP=NMINGAP+1
446: !            ENDIF408: !            ENDIF
447: !         ENDDO409: !         ENDDO
448: !751      CONTINUE410: !751      CONTINUE
449: !      ENDIF411: !      ENDIF
450:    ENDIF412:    ENDIF
451:    J5=PARENT(J5)413:    J5=PARENT(J5)
452:    IF (J5.EQ.LJ1) EXIT414:    IF (J5.EQ.LJ1) EXIT
453:    IF (J5.EQ.0) EXIT415:    IF (J5.EQ.0) EXIT
454: ENDDO416: ENDDO
455: PRINT '(2(A,I8))','Dijinit> Number of steps=',NSTEPS,' number of missing connections=',NWORST417: PRINT '(2(A,I8))','Dijinit> Number of steps=',NSTEPS,' number of missing connections=',NWORST
456: PRUNEMIN(J5)=.TRUE. 
457: IF (PRUNECYCLET) THEN 
458:    NPRUNEDONE=NPRUNEDONE+1 
459:    PRINT '(A,I8)','Dijinit> Pruning cycle completed: ',NPRUNEDONE 
460:    IF (NPRUNEDONE.LT.NPRUNE) THEN 
461:       DEALLOCATE(LOCATIONSTART,LOCATIONEND) 
462:       GOTO 121 
463:    ENDIF 
464: ENDIF 
465: IF (MINGAPT) THEN418: IF (MINGAPT) THEN
466:    IF (NMINGAP.GT.0) THEN419:    IF (NMINGAP.GT.0) THEN
467:       PRINT '(A,I8)','Dijinit> Number of connections larger than minimum distance:',NMINGAP420:       PRINT '(A,I8)','Dijinit> Number of connections larger than minimum distance:',NMINGAP
468:       NWORST=NMINGAP421:       NWORST=NMINGAP
469:    ELSE422:    ELSE
470:       PRINT '(A)','Dijinit> No missing connection is above the required distance cut off.'423:       PRINT '(A)','Dijinit> No missing connection is above the required distance cut off.'
471:       PRINT '(A)','Dijinit> Set MINGAP to false and redo analysis'424:       PRINT '(A)','Dijinit> Set MINGAP to false and redo analysis'
472:       MINGAPT=.FALSE.425:       MINGAPT=.FALSE.
473:       DEALLOCATE(LOCATIONSTART,LOCATIONEND)426:       DEALLOCATE(LOCATIONSTART,LOCATIONEND)
474:       GOTO 121427:       GOTO 121
475:    ENDIF428:    ENDIF
476: ENDIF429: ENDIF
477: IF (DIJPRUNET) THEN !write the best path out to min.retain and then terminate430: IF (DIJPRUNET) THEN !write the best path out to min.retain and then terminate
478:    OPEN(MUNIT,FILE='min.retain',POSITION='APPEND',ACTION='WRITE',STATUS='NEW')431:    PATHMINS(NSTEPS+1)=J5
479:    NPRUNEMIN=0432:    WRITE(MUNIT,'(I8)') NSTEPS+1
480:    DO J7=1,NMIN433:    DO J7=1,NSTEPS+1
481:       IF (PRUNEMIN(J7)) NPRUNEMIN=NPRUNEMIN+1434:       WRITE(MUNIT,'(I8)') PATHMINS(J7)
482:    ENDDO 
483:    WRITE(MUNIT,'(I8)') NPRUNEMIN 
484:    DO J7=1,NMIN 
485:       IF (PRUNEMIN(J7)) THEN 
486:          WRITE(MUNIT,'(I8)') J7 
487:       ENDIF 
488:    ENDDO435:    ENDDO
489:    CLOSE(MUNIT)436:    CLOSE(MUNIT)
490:    PRINT '(A,I6,A)','Dijprune> Best ',NPRUNE,' paths written to min.retain'437:    PRINT '(A)','Dijprune> Best path written to min.retain'
 438:    DEALLOCATE(PATHMINS)
491:    STOP439:    STOP
492: ENDIF440: ENDIF
493: IF (NWORST.EQ.0) THEN441: IF (NWORST.EQ.0) THEN
494:    PRINT '(A)','Dijinit> Connected path found'442:    PRINT '(A)','Dijinit> Connected path found'
495: !  IF (DIJCONT) THEN443: !  IF (DIJCONT) THEN
496: !     DIJINITT=.FALSE.444: !     DIJINITT=.FALSE.
497: !  ELSE445: !  ELSE
498:       STOP446:       STOP
499: !  ENDIF447: !  ENDIF
500: ENDIF448: ENDIF


r30225/keywords.f 2017-01-21 10:41:38.531743921 +0000 r30224/keywords.f 2017-01-21 10:41:39.927800060 +0000
171:       DIJKSTRAWAITT=.FALSE.171:       DIJKSTRAWAITT=.FALSE.
172:       DIJPAIRT=.FALSE.172:       DIJPAIRT=.FALSE.
173:       BARRIERSORT=.FALSE.173:       BARRIERSORT=.FALSE.
174:       BARRIERSHORT=.FALSE.174:       BARRIERSHORT=.FALSE.
175:       RATESHORT=.FALSE.175:       RATESHORT=.FALSE.
176:       DIJINITT=.FALSE.176:       DIJINITT=.FALSE.
177:       DIJINITFLYT=.FALSE.177:       DIJINITFLYT=.FALSE.
178:       DIJINITSTARTT=.FALSE.178:       DIJINITSTARTT=.FALSE.
179:       DIJINITCONTT=.FALSE.179:       DIJINITCONTT=.FALSE.
180:       DIJPRUNET=.FALSE.180:       DIJPRUNET=.FALSE.
181:       PAIRSIGNORET=.FALSE. 
182:       PRUNECYCLET=.FALSE. 
183:       NPRUNE=5 
184:       PAIRDISTMAX=100181:       PAIRDISTMAX=100
185:       NRANDOMMETRIC=100182:       NRANDOMMETRIC=100
186:       RANDOMMETRICT=.FALSE.183:       RANDOMMETRICT=.FALSE.
187:       PAIRDIST1=0184:       PAIRDIST1=0
188:       PAIRDIST2=0185:       PAIRDIST2=0
189:       TSTHRESH=HUGE(1.0D0)186:       TSTHRESH=HUGE(1.0D0)
190:       MAXBARRIER=HUGE(1.0D0)187:       MAXBARRIER=HUGE(1.0D0)
191:       MAXDOWNBARRIER=HUGE(1.0D0)188:       MAXDOWNBARRIER=HUGE(1.0D0)
192:       MINBARRIER=-HUGE(1.0D0)189:       MINBARRIER=-HUGE(1.0D0)
193:       MINGAPT=.FALSE.190:       MINGAPT=.FALSE.
1296:          CALL READF(GT2PTOL)1293:          CALL READF(GT2PTOL)
1297: C1294: C
1298: C Takes into accound the mirror symmetry for the Thomson problem1295: C Takes into accound the mirror symmetry for the Thomson problem
1299: C hk2861296: C hk286
1300: C1297: C
1301:       ELSE IF (WORD=='GTHOMSON') then1298:       ELSE IF (WORD=='GTHOMSON') then
1302:          GTHOMSONT = .TRUE.1299:          GTHOMSONT = .TRUE.
1303:          CALL READI(GTHOMMET)1300:          CALL READI(GTHOMMET)
1304: 1301: 
1305: C1302: C
1306: C Do not ignore previously searched pairs for pruning  
1307: C 
1308:  
1309:       ELSE IF (WORD=='IGNOREPAIRS') THEN 
1310:          CALL READA(UNSTRING) 
1311:          IF (TRIM(ADJUSTL(UNSTRING)).EQ.'TRUE') PAIRSIGNORET=.TRUE. 
1312:          IF (TRIM(ADJUSTL(UNSTRING)).EQ.'FALSE') PAIRSIGNORET=.FALSE. 
1313: C 
1314: C Prints the negative eigenvalue of each TS in ts.data as final (ninth) column1303: C Prints the negative eigenvalue of each TS in ts.data as final (ninth) column
1315: C1304: C
1316:       ELSE IF (WORD=='IMFRQ') THEN1305:       ELSE IF (WORD=='IMFRQ') THEN
1317:          IMFRQT=.TRUE.1306:          IMFRQT=.TRUE.
1318: C1307: C
1319: C  Use constraint potential for interpolation as a connection metric (instead of distance).1308: C  Use constraint potential for interpolation as a connection metric (instead of distance).
1320: C1309: C
1321:       ELSE IF (WORD.EQ.'INTCONSTRAINT') THEN1310:       ELSE IF (WORD.EQ.'INTCONSTRAINT') THEN
1322:          INTCONSTRAINTT=.TRUE.1311:          INTCONSTRAINTT=.TRUE.
1323:          IF (NITEMS.GT.1) CALL READF(INTCONSTRAINTTOL)1312:          IF (NITEMS.GT.1) CALL READF(INTCONSTRAINTTOL)
1856:          CALL READF(PLANCK)1845:          CALL READF(PLANCK)
1857:       ELSE IF (WORD.EQ.'PSCALE') THEN1846:       ELSE IF (WORD.EQ.'PSCALE') THEN
1858:          CALL READF(PSCALE)1847:          CALL READF(PSCALE)
1859: !1848: !
1860: ! PHI4MOD for mean field phi^4 model1849: ! PHI4MOD for mean field phi^4 model
1861: !1850: !
1862:       ELSE IF (WORD.EQ.'PHI4MOD') THEN1851:       ELSE IF (WORD.EQ.'PHI4MOD') THEN
1863:          PHI4MODT=.TRUE.1852:          PHI4MODT=.TRUE.
1864:          IF (NITEMS.GT.1) CALL READF(JPARAM)1853:          IF (NITEMS.GT.1) CALL READF(JPARAM)
1865:          PRINT '(A,G20.10)',' keywords> PHI4 mean field model with J=',JPARAM1854:          PRINT '(A,G20.10)',' keywords> PHI4 mean field model with J=',JPARAM
1866:  
1867: ! 
1868: ! Allows to use more than one pruning cycle, default is 5 
1869: ! 
1870:       ELSE IF (WORD.EQ.'PRUNECYCLE') THEN 
1871:          PRUNECYCLET=.TRUE. 
1872:          IF (NITEMS.GT.1) CALL READI(NPRUNE) 
1873:          PRINT '(A,I6)',' keywords> Pruning cycles set to: ', NPRUNE 
1874:  
1875:  
1876: !1855: !
1877: ! Print some summary info about the kinetic transition network to1856: ! Print some summary info about the kinetic transition network to
1878: ! standard out1857: ! standard out
1879: !1858: !
1880:       ELSE IF (WORD.EQ.'PRINTSUMMARY') THEN1859:       ELSE IF (WORD.EQ.'PRINTSUMMARY') THEN
1881:           PRINTSUMMARYT=.TRUE.1860:           PRINTSUMMARYT=.TRUE.
1882: C1861: C
1883: C  Try connecting minima that have the largest values of equilibrium occupation probability times1862: C  Try connecting minima that have the largest values of equilibrium occupation probability times
1884: C  waiting time to minima on the fastest path.1863: C  waiting time to minima on the fastest path.
1885: C  Don't bother - UNTRAP with free energy sorting should do the job.1864: C  Don't bother - UNTRAP with free energy sorting should do the job.


r30225/Makefile 2017-01-21 10:41:37.595706134 +0000 r30224/Makefile 2017-01-21 10:41:38.983762140 +0000
  1: # CMAKE generated file: DO NOT EDIT!  1: F90=pgf90
  2: # Generated by "Unix Makefiles" Generator, CMake Version 2.8  2: F90FLAGS = -O
  3:   3: 
  4: # Default target executed when no arguments are given to make.  4: all: disconnectionDPS manipulate
  5: default_target: all 
  6: .PHONY : default_target 
  7:   5: 
  8: #=============================================================================  6: disconnectionDPS: disconnectionDPS.f90
  9: # Special targets provided by cmake.  7:         $(F90) $(F90FLAGS) -o $@ $<
   8: #        cp $@ ddps
   9: 
  10: manipulate: manipulate.f90
  11:         $(F90) $(F90FLAGS) -o $@ $<
  12: #        cp $@ mnp
 10:  13: 
 11: # Disable implicit rules so canonical targets will work. 
 12: .SUFFIXES: 
 13:  
 14: # Remove some rules from gmake that .SUFFIXES does not remove. 
 15: SUFFIXES = 
 16:  
 17: .SUFFIXES: .hpux_make_needs_suffix_list 
 18:  
 19: # Suppress display of executed commands. 
 20: $(VERBOSE).SILENT: 
 21:  
 22: # A target that is always out of date. 
 23: cmake_force: 
 24: .PHONY : cmake_force 
 25:  
 26: #============================================================================= 
 27: # Set environment variables for the build. 
 28:  
 29: # The shell in which to execute make rules. 
 30: SHELL = /bin/sh 
 31:  
 32: # The CMake executable. 
 33: CMAKE_COMMAND = /usr/bin/cmake 
 34:  
 35: # The command to remove a file. 
 36: RM = /usr/bin/cmake -E remove -f 
 37:  
 38: # Escaping for special characters. 
 39: EQUALS = = 
 40:  
 41: # The program to use to edit the cache. 
 42: CMAKE_EDIT_COMMAND = /usr/bin/ccmake 
 43:  
 44: # The top-level source directory on which CMake was run. 
 45: CMAKE_SOURCE_DIR = /home/kr366/svn/DISCONNECT/source 
 46:  
 47: # The top-level build directory on which CMake was run. 
 48: CMAKE_BINARY_DIR = /home/kr366/svn/DISCONNECT/source 
 49:  
 50: #============================================================================= 
 51: # Targets provided globally by CMake. 
 52:  
 53: # Special rule for the target edit_cache 
 54: edit_cache: 
 55:         @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake cache editor..." 
 56:         /usr/bin/ccmake -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) 
 57: .PHONY : edit_cache 
 58:  
 59: # Special rule for the target edit_cache 
 60: edit_cache/fast: edit_cache 
 61: .PHONY : edit_cache/fast 
 62:  
 63: # Special rule for the target rebuild_cache 
 64: rebuild_cache: 
 65:         @$(CMAKE_COMMAND) -E cmake_echo_color --switch=$(COLOR) --cyan "Running CMake to regenerate build system..." 
 66:         /usr/bin/cmake -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) 
 67: .PHONY : rebuild_cache 
 68:  
 69: # Special rule for the target rebuild_cache 
 70: rebuild_cache/fast: rebuild_cache 
 71: .PHONY : rebuild_cache/fast 
 72:  
 73: # The main all target 
 74: all: cmake_check_build_system 
 75:         $(CMAKE_COMMAND) -E cmake_progress_start /home/kr366/svn/DISCONNECT/source/CMakeFiles /home/kr366/svn/DISCONNECT/source/CMakeFiles/progress.marks 
 76:         $(MAKE) -f CMakeFiles/Makefile2 all 
 77:         $(CMAKE_COMMAND) -E cmake_progress_start /home/kr366/svn/DISCONNECT/source/CMakeFiles 0 
 78: .PHONY : all 
 79:  
 80: # The main clean target 
 81: clean: 14: clean:
 82:         $(MAKE) -f CMakeFiles/Makefile2 clean 15:         rm -f disconnectionDPS manipulate *.o *.mod
 83: .PHONY : clean 
 84:  
 85: # The main clean target 
 86: clean/fast: clean 
 87: .PHONY : clean/fast 
 88:  
 89: # Prepare targets for installation. 
 90: preinstall: all 
 91:         $(MAKE) -f CMakeFiles/Makefile2 preinstall 
 92: .PHONY : preinstall 
 93:  
 94: # Prepare targets for installation. 
 95: preinstall/fast: 
 96:         $(MAKE) -f CMakeFiles/Makefile2 preinstall 
 97: .PHONY : preinstall/fast 
 98:  
 99: # clear depends 
100: depend: 
101:         $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 1 
102: .PHONY : depend 
103:  
104: #============================================================================= 
105: # Target rules for targets named disconnectionDPS 
106:  
107: # Build rule for target. 
108: disconnectionDPS: cmake_check_build_system 
109:         $(MAKE) -f CMakeFiles/Makefile2 disconnectionDPS 
110: .PHONY : disconnectionDPS 
111:  
112: # fast build rule for target. 
113: disconnectionDPS/fast: 
114:         $(MAKE) -f CMakeFiles/disconnectionDPS.dir/build.make CMakeFiles/disconnectionDPS.dir/build 
115: .PHONY : disconnectionDPS/fast 
116:  
117: #============================================================================= 
118: # Target rules for targets named manipulate 
119:  
120: # Build rule for target. 
121: manipulate: cmake_check_build_system 
122:         $(MAKE) -f CMakeFiles/Makefile2 manipulate 
123: .PHONY : manipulate 
124:  
125: # fast build rule for target. 
126: manipulate/fast: 
127:         $(MAKE) -f CMakeFiles/manipulate.dir/build.make CMakeFiles/manipulate.dir/build 
128: .PHONY : manipulate/fast 
129:  
130: disconnectionDPS.o: disconnectionDPS.f90.o 
131: .PHONY : disconnectionDPS.o 
132:  
133: # target to build an object file 
134: disconnectionDPS.f90.o: 
135:         $(MAKE) -f CMakeFiles/disconnectionDPS.dir/build.make CMakeFiles/disconnectionDPS.dir/disconnectionDPS.f90.o 
136: .PHONY : disconnectionDPS.f90.o 
137:  
138: manipulate.o: manipulate.f90.o 
139: .PHONY : manipulate.o 
140:  
141: # target to build an object file 
142: manipulate.f90.o: 
143:         $(MAKE) -f CMakeFiles/manipulate.dir/build.make CMakeFiles/manipulate.dir/manipulate.f90.o 
144: .PHONY : manipulate.f90.o 
145:  
146: # Help Target 
147: help: 
148:         @echo "The following are some of the valid targets for this Makefile:" 
149:         @echo "... all (the default if no target is provided)" 
150:         @echo "... clean" 
151:         @echo "... depend" 
152:         @echo "... disconnectionDPS" 
153:         @echo "... edit_cache" 
154:         @echo "... manipulate" 
155:         @echo "... rebuild_cache" 
156:         @echo "... disconnectionDPS.o" 
157:         @echo "... manipulate.o" 
158: .PHONY : help 
159:  
160:  
161:  
162: #============================================================================= 
163: # Special targets to cleanup operation of make. 
164:  
165: # Special rule to run CMake to check the build system integrity. 
166: # No rule that depends on this can have commands that come from listfiles 
167: # because they might be regenerated. 
168: cmake_check_build_system: 
169:         $(CMAKE_COMMAND) -H$(CMAKE_SOURCE_DIR) -B$(CMAKE_BINARY_DIR) --check-build-system CMakeFiles/Makefile.cmake 0 
170: .PHONY : cmake_check_build_system 
171:  


r30225/PATHSAMPLE.tex 2017-01-21 10:41:37.839716004 +0000 r30224/PATHSAMPLE.tex 2017-01-21 10:41:39.207771140 +0000
647: The {\it string\/} argument, which is optional, only has an effect if it is the647: The {\it string\/} argument, which is optional, only has an effect if it is the
648: word `BARRIER'. In this case the pairs of minima to connect are sorted according to the 648: word `BARRIER'. In this case the pairs of minima to connect are sorted according to the 
649: largest barrier 649: largest barrier 
650: that separates them. Otherwise they are sorted in order of increasing650: that separates them. Otherwise they are sorted in order of increasing
651: energy of the minimum that is separated from the product region.651: energy of the minimum that is separated from the product region.
652: 652: 
653: \item {\it DIJPRUNE exp or n max p1 p2\/}: using the existing best path calculation653: \item {\it DIJPRUNE exp or n max p1 p2\/}: using the existing best path calculation
654: in {\it DIJINITCONT\/} it creates a new file {\tt min.retain} which only contains minima654: in {\it DIJINITCONT\/} it creates a new file {\tt min.retain} which only contains minima
655: on the best path. The weighting option are identical to {\it DIJINITCONT\/}. It requires655: on the best path. The weighting option are identical to {\it DIJINITCONT\/}. It requires
656: that {\it CYCLES\/} is set to 1.656: that {\it CYCLES\/} is set to 1.
657: Allows consequently to remove all other minima (useful to keep databases small). Can be used657: Allows consequently to remove all other minima (useful to keep databases small).
658: with {\it PRUNECYCLE} and {\it IGNOREPAIRS}. 
659: 658: 
660: \item {\it DIRECTION a\/}: the direction (`AB' or `BA') determines the sense of a path, for 659: \item {\it DIRECTION a\/}: the direction (`AB' or `BA') determines the sense of a path, for 
661: contexts where forward and backward or reactant and product need to be defined. Note the use 660: contexts where forward and backward or reactant and product need to be defined. Note the use 
662: of the spectroscopists' convention, whereby `AB' means from B to A . The default is `AB'. 661: of the spectroscopists' convention, whereby `AB' means from B to A . The default is `AB'. 
663: 662: 
664: \item {\it DSCALE x\/}: specifies how the separation between local minima, {\it d}, is used663: \item {\it DSCALE x\/}: specifies how the separation between local minima, {\it d}, is used
665: to select the pair used in the next attempted connection. If664: to select the pair used in the next attempted connection. If
666: $\exp(-(d-x)/x) < $ a random number drawn from $[0,1]$ then the distance criterion is accepted.665: $\exp(-(d-x)/x) < $ a random number drawn from $[0,1]$ then the distance criterion is accepted.
667: There is also a criterion for the difference in committor probabilities (see {\it PSCALE}).666: There is also a criterion for the difference in committor probabilities (see {\it PSCALE}).
668: If $d<x$ then the distance criterion is always satisfied; above $x$ the probability667: If $d<x$ then the distance criterion is always satisfied; above $x$ the probability
804: {\it DGT} or {\it SDGT}.803: {\it DGT} or {\it SDGT}.
805: 804: 
806: \item {\it GT2RSwitch x \/}: specifies that the generalised graph transformation805: \item {\it GT2RSwitch x \/}: specifies that the generalised graph transformation
807: routines switch from single to double precision when the density reaches {\it x\/}.806: routines switch from single to double precision when the density reaches {\it x\/}.
808: The default value is $x=0.08$.807: The default value is $x=0.08$.
809: See keyword {\it SDGT\/} and subroutine {\bf GT2} for more information. 808: See keyword {\it SDGT\/} and subroutine {\bf GT2} for more information. 
810: 809: 
811: \item {\it GT2PTOL x\/}: specifies the threshold for deciding that a node is dead810: \item {\it GT2PTOL x\/}: specifies the threshold for deciding that a node is dead
812: in the generalised graph transformation routines. The default value is $x=0.00001$.811: in the generalised graph transformation routines. The default value is $x=0.00001$.
813: 812: 
814: \item {\it IGNOREPAIRS value \/}: value is either TRUE or FALSE. If set to TRUE, previously 
815: searched pairs will be ignored in the Dijkstra analysis in the Dijinit subroutine. 
816:  
817: \item {\it IMFRQ\/}: specifies that the {\tt ts.data} file should contain a ninth 813: \item {\it IMFRQ\/}: specifies that the {\tt ts.data} file should contain a ninth 
818: column containing the unique negative Hessian eigenvalue. This814: column containing the unique negative Hessian eigenvalue. This
819: is the eigenvalue corresponding to the imaginary normal mode frequency.815: is the eigenvalue corresponding to the imaginary normal mode frequency.
820: See also the {\it FRICTION\/} keyword, which implies the same format for816: See also the {\it FRICTION\/} keyword, which implies the same format for
821: {\tt ts.data} and calculates the rate constants using a phenomenological817: {\tt ts.data} and calculates the rate constants using a phenomenological
822: description of dynamical solvent friction.818: description of dynamical solvent friction.
823: 819: 
824: \item{\it INTCONSTRAINT intconstrainttol intconstraintdel intconstraintrep intconstrainrepcut820: \item{\it INTCONSTRAINT intconstrainttol intconstraintdel intconstraintrep intconstrainrepcut
825: intconsep intrepsep \/} 821: intconsep intrepsep \/} 
826: specifies quasi-continuous interpolation via an auxiliary constraint potential, as822: specifies quasi-continuous interpolation via an auxiliary constraint potential, as
1225: prevailing energy unit times seconds. This numerical value is required for 1221: prevailing energy unit times seconds. This numerical value is required for 
1226: regrouping free energies. For example, for the {\it CHARMM} potential $h$ needs1222: regrouping free energies. For example, for the {\it CHARMM} potential $h$ needs
1227: to be $9.546\times10^{-14}\,$s\,kcal/mol1223: to be $9.546\times10^{-14}\,$s\,kcal/mol
1228: See \S \ref{sec:units} for more details.1224: See \S \ref{sec:units} for more details.
1229: 1225: 
1230: \item {\it PRINTSUMMARY}: prints (to standard out) some information about the kinetic transition 1226: \item {\it PRINTSUMMARY}: prints (to standard out) some information about the kinetic transition 
1231: network, including the number of minima and transition states satisfying the various thresholds, the highest 1227: network, including the number of minima and transition states satisfying the various thresholds, the highest 
1232: and lowest TSs, and some information about the connected components present. The analysis is performed 1228: and lowest TSs, and some information about the connected components present. The analysis is performed 
1233: after the SETUP routine has been passed through.1229: after the SETUP routine has been passed through.
1234: 1230: 
1235: \item {\it PRUNECYCLE n\/}: repeats the Dijkstra analysis for {\it DIJPRUNE} {\it n} times and records all minima, on the so found n 
1236: fastest paths (all missing connections can be used once overall). Default is 5 cycles. 
1237:  
1238: \item {\it PULL \/}: add this keyword if the system has a non-zero static force 1231: \item {\it PULL \/}: add this keyword if the system has a non-zero static force 
1239: added to the potential. {\tt PATHSAMPLE.2.1} only uses this keyword to determine the1232: added to the potential. {\tt PATHSAMPLE.2.1} only uses this keyword to determine the
1240: number of zero Hessian eigenvalues (four). The attached atoms and force magnitude1233: number of zero Hessian eigenvalues (four). The attached atoms and force magnitude
1241: are not required.1234: are not required.
1242: 1235: 
1243: \item {\it PSCALE x\/}: determines how the difference in committor probabilities,1236: \item {\it PSCALE x\/}: determines how the difference in committor probabilities,
1244: $p$, is used to select the pair of minima used in the next attempted connection. If1237: $p$, is used to select the pair of minima used in the next attempted connection. If
1245: $p/x > $ a random number drawn from $[0,1]$ then the distance criterion is accepted.1238: $p/x > $ a random number drawn from $[0,1]$ then the distance criterion is accepted.
1246: There is also a criterion for the minimum distance (see {\it DSCALE}).1239: There is also a criterion for the minimum distance (see {\it DSCALE}).
1247: If $p>x$ then the committor probability criterion is always satisfied; below $x$ the probability1240: If $p>x$ then the committor probability criterion is always satisfied; below $x$ the probability


r30225/perm-pdb.py 2017-01-21 10:41:38.755752950 +0000 r30224/perm-pdb.py 2017-01-21 10:41:40.587826489 +0000
504:       atnum3.append(ATMlist[9].index)504:       atnum3.append(ATMlist[9].index)
505:       count4=2505:       count4=2
506:       atnum4.append(ATMlist[11].index)506:       atnum4.append(ATMlist[11].index)
507:       atnum4.append(ATMlist[12].index)507:       atnum4.append(ATMlist[12].index)
508:       count5=2508:       count5=2
509:       atnum5.append(ATMlist[14].index)509:       atnum5.append(ATMlist[14].index)
510:       atnum5.append(ATMlist[15].index)510:       atnum5.append(ATMlist[15].index)
511:       count6=2511:       count6=2
512:       atnum6.append(ATMlist[21].index)512:       atnum6.append(ATMlist[21].index)
513:       atnum6.append(ATMlist[22].index)513:       atnum6.append(ATMlist[22].index)
514:     elif((ATMlist[0].acidname=='LYN') or (ATMlist[0].acidname=='LYL')):514:     elif(ATMlist[0].acidname=='LYN'):
515:       atnum.append(ATMlist[5].index)515:       atnum.append(ATMlist[5].index)
516:       atnum.append(ATMlist[6].index)516:       atnum.append(ATMlist[6].index)
517:       count2=2517:       count2=2
518:       atnum2.append(ATMlist[8].index)518:       atnum2.append(ATMlist[8].index)
519:       atnum2.append(ATMlist[9].index)519:       atnum2.append(ATMlist[9].index)
520:       count3=2520:       count3=2
521:       atnum3.append(ATMlist[11].index)521:       atnum3.append(ATMlist[11].index)
522:       atnum3.append(ATMlist[12].index)522:       atnum3.append(ATMlist[12].index)
523:       count4=2523:       count4=2
524:       atnum4.append(ATMlist[14].index)524:       atnum4.append(ATMlist[14].index)


legend
Lines Added 
Lines changed
 Lines Removed

hdiff - version: 2.1.0