hdiff output

r29554/commons.f90 2016-03-16 18:35:10.020052659 +0000 r29553/commons.f90 2016-03-16 18:35:11.716070097 +0000
164: ! hk286164: ! hk286
165:       LOGICAL :: GTHOMSONT165:       LOGICAL :: GTHOMSONT
166:       INTEGER :: GTHOMMET166:       INTEGER :: GTHOMMET
167:       DOUBLE PRECISION :: GTHOMSONZ167:       DOUBLE PRECISION :: GTHOMSONZ
168: 168: 
169: ! RIGIDINIT - hk286169: ! RIGIDINIT - hk286
170:       LOGICAL :: RIGIDINIT170:       LOGICAL :: RIGIDINIT
171:       INTEGER :: DEGFREEDOMS171:       INTEGER :: DEGFREEDOMS
172: 172: 
173: ! Get frqs173: ! Get frqs
174:       LOGICAL :: GETMINFRQST, GETTSFRQST174:       LOGICAL :: GETMINFRQST
175: END MODULE COMMONS175: END MODULE COMMONS


r29554/cycle2.f90 2016-03-16 18:35:10.216054677 +0000 r29553/cycle2.f90 2016-03-16 18:35:11.908072070 +0000
 20: SUBROUTINE CYCLE2 20: SUBROUTINE CYCLE2
 21: USE COMMONS 21: USE COMMONS
 22: USE PORFUNCS 22: USE PORFUNCS
 23: USE UTILS,ONLY : GETUNIT 23: USE UTILS,ONLY : GETUNIT
 24: IMPLICIT NONE 24: IMPLICIT NONE
 25: DOUBLE PRECISION SPOINTS(3*NATOMS), FPOINTS(3*NATOMS), DPRAND, MINFRQ 25: DOUBLE PRECISION SPOINTS(3*NATOMS), FPOINTS(3*NATOMS), DPRAND, MINFRQ
 26: INTEGER J1, J2, J3, PID(NCPU), MINS(NCPU), MINF(NCPU), STATUS, NCYCLES, NMINOLD, NTSOLD, ISTAT, & 26: INTEGER J1, J2, J3, PID(NCPU), MINS(NCPU), MINF(NCPU), STATUS, NCYCLES, NMINOLD, NTSOLD, ISTAT, &
 27:   & NEWJOB, PIDDONE, MINID(NCPU), LUNIT, NSPCHECK, XYZUNIT, & 27:   & NEWJOB, PIDDONE, MINID(NCPU), LUNIT, NSPCHECK, XYZUNIT, &
 28:   & ADDMINXYZCHECK, CONNDOING, CONNATTEMPTS, L1, L2 28:   & ADDMINXYZCHECK, CONNDOING, CONNATTEMPTS, L1, L2
 29: INTEGER NAVAIL, NUSED, NDUMMY, NCONNTOTAL 29: INTEGER NAVAIL, NUSED, NDUMMY, NCONNTOTAL
 30: LOGICAL KILLED, STOPCYCLE, CHANGEPD, OPTEST, NOMORE, LTEST1, LTEST2, MINFRQSDUMP, TSFRQSDUMP 30: LOGICAL KILLED, STOPCYCLE, CHANGEPD, OPTEST, NOMORE, LTEST1, LTEST2, MINFRQSDUMP
 31: CHARACTER(LEN=10) CONNSTR 31: CHARACTER(LEN=10) CONNSTR
 32: CHARACTER(LEN=5) SDUMMY 32: CHARACTER(LEN=5) SDUMMY
 33: CHARACTER(LEN=80) SLEEPSTRING1, SLEEPSTRING2 33: CHARACTER(LEN=80) SLEEPSTRING1, SLEEPSTRING2
 34:  34: 
 35: IF (.NOT.ALLOCATED(FROZEN)) ALLOCATE(FROZEN(NATOMS)) 35: IF (.NOT.ALLOCATED(FROZEN)) ALLOCATE(FROZEN(NATOMS))
 36: WRITE(SLEEPSTRING1,'(A,F20.10)') 'sleep ',SLEEPTIME1 36: WRITE(SLEEPSTRING1,'(A,F20.10)') 'sleep ',SLEEPTIME1
 37: WRITE(SLEEPSTRING2,'(A,F20.10)') 'sleep ',SLEEPTIME2 37: WRITE(SLEEPSTRING2,'(A,F20.10)') 'sleep ',SLEEPTIME2
 38: NAVAIL=0 38: NAVAIL=0
 39: IF (CHECKSPT) NSPCHECK=CHECKSPS-1 39: IF (CHECKSPT) NSPCHECK=CHECKSPS-1
 40: IF (ADDMINXYZT) THEN 40: IF (ADDMINXYZT) THEN
327: !  back the path.info file for distributed environments, and the OPTIM exit status327: !  back the path.info file for distributed environments, and the OPTIM exit status
328: !  for SMP. We can go ahead and try to analyse a path.info file so long as it exists!328: !  for SMP. We can go ahead and try to analyse a path.info file so long as it exists!
329: !329: !
330:    IF (BHINTERPT.OR.BISECTT) THEN330:    IF (BHINTERPT.OR.BISECTT) THEN
331:       CALL MYSYSTEM(STATUS,DEBUG,'cp min.data.info.'//TRIM(ADJUSTL(CONNSTR))//' min.data.info')331:       CALL MYSYSTEM(STATUS,DEBUG,'cp min.data.info.'//TRIM(ADJUSTL(CONNSTR))//' min.data.info')
332:    ELSEIF (CHECKSPT) THEN332:    ELSEIF (CHECKSPT) THEN
333:       INQUIRE(FILE='frqs.min',EXIST=MINFRQSDUMP)333:       INQUIRE(FILE='frqs.min',EXIST=MINFRQSDUMP)
334:       IF ((GETMINFRQST).AND.(.NOT.(MINFRQSDUMP))) THEN334:       IF ((GETMINFRQST).AND.(.NOT.(MINFRQSDUMP))) THEN
335:          OPEN(513,FILE='frqs.min',POSITION='APPEND',ACTION='WRITE',STATUS='UNKNOWN')335:          OPEN(513,FILE='frqs.min',POSITION='APPEND',ACTION='WRITE',STATUS='UNKNOWN')
336:       ENDIF336:       ENDIF
337:       INQUIRE(FILE='frqs.ts',EXIST=TSFRQSDUMP) 
338:       IF ((GETTSFRQST).AND.(.NOT.(TSFRQSDUMP))) THEN 
339:          OPEN(513,FILE='frqs.ts',POSITION='APPEND',ACTION='WRITE',STATUS='UNKNOWN') 
340:       ENDIF 
341:       INQUIRE(FILE='OPTIM.checksp.'//TRIM(ADJUSTL(CONNSTR)),EXIST=OPTEST)337:       INQUIRE(FILE='OPTIM.checksp.'//TRIM(ADJUSTL(CONNSTR)),EXIST=OPTEST)
342:       IF (OPTEST) THEN338:       IF (OPTEST) THEN
343:          CALL MYSYSTEM(STATUS,DEBUG,'grep -c CONVERGED OPTIM.checksp.'//TRIM(ADJUSTL(CONNSTR)) &339:          CALL MYSYSTEM(STATUS,DEBUG,'grep -c CONVERGED OPTIM.checksp.'//TRIM(ADJUSTL(CONNSTR)) &
344:   &                    // ' > convcheck.'//TRIM(ADJUSTL(CONNSTR)))340:   &                    // ' > convcheck.'//TRIM(ADJUSTL(CONNSTR)))
345:          LUNIT=GETUNIT()341:          LUNIT=GETUNIT()
346:          OPEN(LUNIT,FILE='convcheck.'//TRIM(ADJUSTL(CONNSTR)))342:          OPEN(LUNIT,FILE='convcheck.'//TRIM(ADJUSTL(CONNSTR)))
347:          READ(LUNIT,*) NDUMMY 343:          READ(LUNIT,*) NDUMMY 
348:          CLOSE(LUNIT)344:          CLOSE(LUNIT)
349:          IF (NDUMMY.EQ.1) THEN345:          IF (NDUMMY.EQ.1) THEN
350:             PRINT '(3(A,I8))','cycle2> stationary point ',MINID(NEWJOB), &346:             PRINT '(3(A,I8))','cycle2> stationary point ',MINID(NEWJOB), &
351:   &                           ' process id ',PID(NEWJOB),' converged on cpu ',NEWJOB347:   &                           ' process id ',PID(NEWJOB),' converged on cpu ',NEWJOB
352:             !kr366> get frequency from frqs.dump348:             !kr366> get frequency from frqs.dump
353:             IF (GETMINFRQST) THEN349:             IF (GETMINFRQST) THEN
354:                OPEN(514,FILE='frqs.dump.'//TRIM(ADJUSTL(CONNSTR)),ACTION='READ',STATUS='OLD')350:                OPEN(514,FILE='frqs.dump.'//TRIM(ADJUSTL(CONNSTR)),ACTION='READ',STATUS='OLD')
355:                READ(514,*) MINFRQ 351:                READ(514,*) MINFRQ 
356:                WRITE(513,'(I8,F20.10)') MINID(NEWJOB) , MINFRQ352:                WRITE(513,'(I8,F20.10)') MINID(NEWJOB) , MINFRQ
357:                CLOSE(514)353:                CLOSE(514)
358:                CALL MYSYSTEM(STATUS,DEBUG,'rm frqs.dump.'//TRIM(ADJUSTL(CONNSTR)))354:                !CALL MYSYSTEM(STATUS,DEBUG,'rm frqs.dump.'//TRIM(ADJUSTL(CONNSTR)))
359:             ENDIF 
360:             IF (GETTSFRQST) THEN 
361:                OPEN(514,FILE='frqs.dump.'//TRIM(ADJUSTL(CONNSTR)),ACTION='READ',STATUS='OLD') 
362:                READ(514,*) MINFRQ 
363:                WRITE(513,'(I8,F20.10)') MINID(NEWJOB) , MINFRQ 
364:                CLOSE(514) 
365:                CALL MYSYSTEM(STATUS,DEBUG,'rm frqs.dump.'//TRIM(ADJUSTL(CONNSTR))) 
366:             ENDIF355:             ENDIF
367:          ELSE356:          ELSE
368:             PRINT '(3(A,I8))','cycle2> WARNING *** stationary point ',MINID(NEWJOB), &357:             PRINT '(3(A,I8))','cycle2> WARNING *** stationary point ',MINID(NEWJOB), &
369:   &                           ' process id ',PID(NEWJOB),' no CONVERGED message ',NEWJOB358:   &                           ' process id ',PID(NEWJOB),' no CONVERGED message ',NEWJOB
370:          ENDIF359:          ENDIF
371:       ELSE360:       ELSE
372:          PRINT '(3(A,I8))','cycle2> ERROR *** no OPTIM output file for stationary point ',MINID(NEWJOB), &361:          PRINT '(3(A,I8))','cycle2> ERROR *** no OPTIM output file for stationary point ',MINID(NEWJOB), &
373:   &                        ' process id ',PID(NEWJOB),' cpu ',NEWJOB362:   &                        ' process id ',PID(NEWJOB),' cpu ',NEWJOB
374:       ENDIF363:       ENDIF
375:       STATUS=-1364:       STATUS=-1


r29554/geopt.f 2016-03-16 18:35:09.424046531 +0000 r29553/geopt.f 2016-03-16 18:35:11.012062855 +0000
1162:      &                 SQRT(-EVALUES(J1)*2625.47D26)/(2*3.141592654D0*2.998D10),' i'1162:      &                 SQRT(-EVALUES(J1)*2625.47D26)/(2*3.141592654D0*2.998D10),' i'
1163:                ENDIF1163:                ENDIF
1164:             ENDDO1164:             ENDDO
1165:          ENDIF1165:          ENDIF
1166: 1166: 
1167: ! hk2861167: ! hk286
1168:          IF (RIGIDINIT) THEN1168:          IF (RIGIDINIT) THEN
1169:             IF (NENDHESS-NEXMODES.GT.0) WRITE(*,'(A,I8,A,F20.10)') ' geopt> Log product of ',NENDHESS-NEXMODES-3*NATOMS+DEGFREEDOMS,1169:             IF (NENDHESS-NEXMODES.GT.0) WRITE(*,'(A,I8,A,F20.10)') ' geopt> Log product of ',NENDHESS-NEXMODES-3*NATOMS+DEGFREEDOMS,
1170:      &           ' positive Hessian eigenvalues=',PROD1170:      &           ' positive Hessian eigenvalues=',PROD
1171:             !kr366> dumps frqs into dump.frqs, used with GETMINFRQS keyword from PATHSAMPLE1171:             !kr366> dumps frqs into dump.frqs, used with GETMINFRQS keyword from PATHSAMPLE
1172:             IF (DUMPFRQST) THEN1172:             IF (DUMPMINFRQST) THEN
1173:                 IF (FILTH.EQ.0) THEN1173:                 IF (FILTH.EQ.0) THEN
1174:                    OPEN(91220,FILE='frqs.dump',POSITION='APPEND',ACTION='WRITE',STATUS='UNKNOWN')1174:                    OPEN(91220,FILE='frqs.dump',POSITION='APPEND',ACTION='WRITE',STATUS='UNKNOWN')
1175:                 ELSE1175:                 ELSE
1176:                    OPEN(91220,FILE='frqs.dump.'//TRIM(ADJUSTL(FILTHSTR)),POSITION='APPEND',ACTION='WRITE',STATUS='UNKNOWN')1176:                    OPEN(91220,FILE='frqs.dump.'//TRIM(ADJUSTL(FILTHSTR)),POSITION='APPEND',ACTION='WRITE',STATUS='UNKNOWN')
1177:                 END IF1177:                 END IF
1178:                 WRITE(91220,*)  PROD1178:                 WRITE(91220,*)  PROD
1179:                 CLOSE(91220)1179:                 CLOSE(91220)
1180:             ENDIF1180:             ENDIF
1181:          ELSE1181:          ELSE
1182:             IF (NENDHESS-NEXMODES.GT.0) WRITE(*,'(A,I8,A,F20.10)') ' geopt> Log product of ',NENDHESS-NEXMODES,1182:             IF (NENDHESS-NEXMODES.GT.0) WRITE(*,'(A,I8,A,F20.10)') ' geopt> Log product of ',NENDHESS-NEXMODES,
1183:      &           ' positive Hessian eigenvalues=',PROD1183:      &           ' positive Hessian eigenvalues=',PROD
1184:             !kr366> dumps frqs into dump.frqs, used with GETMINFRQS keyword from PATHSAMPLE1184:             !kr366> dumps frqs into dump.frqs, used with GETMINFRQS keyword from PATHSAMPLE
1185:             IF (DUMPFRQST) THEN1185:             IF (DUMPMINFRQST) THEN
1186:                 IF (FILTH.EQ.0) THEN1186:                 IF (FILTH.EQ.0) THEN
1187:                    OPEN(91220,FILE='frqs.dump',POSITION='APPEND',ACTION='WRITE',STATUS='UNKNOWN')1187:                    OPEN(91220,FILE='frqs.dump',POSITION='APPEND',ACTION='WRITE',STATUS='UNKNOWN')
1188:                 ELSE1188:                 ELSE
1189:                    OPEN(91220,FILE='frqs.dump.'//TRIM(ADJUSTL(FILTHSTR)),POSITION='APPEND',ACTION='WRITE',STATUS='UNKNOWN')1189:                    OPEN(91220,FILE='frqs.dump.'//TRIM(ADJUSTL(FILTHSTR)),POSITION='APPEND',ACTION='WRITE',STATUS='UNKNOWN')
1190:                 END IF1190:                 END IF
1191:                 WRITE(91220,*)  PROD1191:                 WRITE(91220,*)  PROD
1192:                 CLOSE(91220)1192:                 CLOSE(91220)
1193:             ENDIF1193:             ENDIF
1194:          ENDIF1194:          ENDIF
1195:       ENDIF1195:       ENDIF


r29554/key.f90 2016-03-16 18:35:09.620048547 +0000 r29553/key.f90 2016-03-16 18:35:11.324066063 +0000
 44:      &        CHECKCONINT, ATOMMATCHFULL, NIH2LEPST,NIHEAM7T,NIHLEPST, NIHPAIRONLYT, & 44:      &        CHECKCONINT, ATOMMATCHFULL, NIH2LEPST,NIHEAM7T,NIHLEPST, NIHPAIRONLYT, &
 45:      &        QSPCFWT, QTIP4PFT, CFUSIONT, DUMPINTXYZ, DUMPINTEOS, INTLJT, INTTST, EYTRAPT, OHCELLT, MKTRAPT, & 45:      &        QSPCFWT, QTIP4PFT, CFUSIONT, DUMPINTXYZ, DUMPINTEOS, INTLJT, INTTST, EYTRAPT, OHCELLT, MKTRAPT, &
 46:      &        INTFREEZET, LPERMDIST, CHECKNEGATIVET, CHECKOVERLAPT, ACK1, ACK2, CONDATT, USERPOTT, & 46:      &        INTFREEZET, LPERMDIST, CHECKNEGATIVET, CHECKOVERLAPT, ACK1, ACK2, CONDATT, USERPOTT, &
 47:      &        CONCUTFRACT, CONCUTABST, ENDNUMHESS2, CHARMMDFTBT, PAIRCOLOURT, REVERSEUPHILLT, WHOLEDNEB, & 47:      &        CONCUTFRACT, CONCUTABST, ENDNUMHESS2, CHARMMDFTBT, PAIRCOLOURT, REVERSEUPHILLT, WHOLEDNEB, &
 48:      &        NONEBMAX, READMASST, ONEDAPBCT, ONEDPBCT, INVTONEDPBCT, INVTTWODPBCT, TWODAPBCT, TWODPBCT, THREEDAPBCT, & 48:      &        NONEBMAX, READMASST, ONEDAPBCT, ONEDPBCT, INVTONEDPBCT, INVTTWODPBCT, TWODAPBCT, TWODPBCT, THREEDAPBCT, &
 49:      &        THREEDPBCT, FOURDAPBCT, FOURDPBCT, MODEDOWNT, CHEMSHIFT, TTM3T, & 49:      &        THREEDPBCT, FOURDAPBCT, FOURDPBCT, MODEDOWNT, CHEMSHIFT, TTM3T, &
 50:      &        NOINVERSION, INVERTPT, KNOWVECS, PMPATHT, AAORIENTT, MULTIJOBT, QUIPARGSTRT, QUIPPARAMST, HESSDUMPT, & 50:      &        NOINVERSION, INVERTPT, KNOWVECS, PMPATHT, AAORIENTT, MULTIJOBT, QUIPARGSTRT, QUIPPARAMST, HESSDUMPT, &
 51:      &        CLASSICALRATEST, TSPLITTINGT, HESSREADT, INSTANTONOPTT,INSTANTONSTARTDUMPT,VARSTEPOPTT, MOLPRO, REAXFFT, & 51:      &        CLASSICALRATEST, TSPLITTINGT, HESSREADT, INSTANTONOPTT,INSTANTONSTARTDUMPT,VARSTEPOPTT, MOLPRO, REAXFFT, &
 52:      &        EIGENONLY,OVERCONV, GLJT,CLSTRINGT,CLSTRINGTST, PHI4MODT, EX1DT, MCPATHT, MCBIAST, RPHT, TWISTT, MCPATH2T, & 52:      &        EIGENONLY,OVERCONV, GLJT,CLSTRINGT,CLSTRINGTST, PHI4MODT, EX1DT, MCPATHT, MCBIAST, RPHT, TWISTT, MCPATH2T, &
 53:      &        PBST, SSHT, GAUSSIAN03, CPPNEBT, CUDAT, CUDATIMET, TRUSTMODET,MODELOST, METRICTENSOR, INTSPRINGACTIVET, & 53:      &        PBST, SSHT, GAUSSIAN03, CPPNEBT, CUDAT, CUDATIMET, TRUSTMODET,MODELOST, METRICTENSOR, INTSPRINGACTIVET, &
 54:      &        PERMGUESS, QCIPERMCHECK, DUMPFRQST 54:      &        PERMGUESS, QCIPERMCHECK, DUMPMINFRQST
 55:  55: 
 56: ! bf269 > polymer in a pore (non-bonding (LJ) energy from neighbours is not subtracted) 56: ! bf269 > polymer in a pore (non-bonding (LJ) energy from neighbours is not subtracted)
 57:       LOGICAL :: PORE8T = .FALSE. ! add 8th power cylindrical pore to the potential? 57:       LOGICAL :: PORE8T = .FALSE. ! add 8th power cylindrical pore to the potential?
 58:       INTEGER :: PORE8_AXIS = 3 ! principal axis of the cylindric pore (1:x, 2:y, 3:z) 58:       INTEGER :: PORE8_AXIS = 3 ! principal axis of the cylindric pore (1:x, 2:y, 3:z)
 59:       DOUBLE PRECISION :: PORE8_ENERGY = 1.0d1 ! energy of the pore when radius = 1 59:       DOUBLE PRECISION :: PORE8_ENERGY = 1.0d1 ! energy of the pore when radius = 1
 60:       LOGICAL :: HARMPOLYT = .FALSE. ! add harmonic bonds between the beads 60:       LOGICAL :: HARMPOLYT = .FALSE. ! add harmonic bonds between the beads
 61:       DOUBLE PRECISION :: HARMPOLY_BONLEN = 0.0d0 ! equilibrium length of springs between beads 61:       DOUBLE PRECISION :: HARMPOLY_BONLEN = 0.0d0 ! equilibrium length of springs between beads
 62:       DOUBLE PRECISION :: HARMPOLY_K = 1.0d2 ! force constant of the springs 62:       DOUBLE PRECISION :: HARMPOLY_K = 1.0d2 ! force constant of the springs
 63:  63: 
 64: ! hk286 > generalised THOMSON problem 64: ! hk286 > generalised THOMSON problem


r29554/keywords.f 2016-03-16 18:35:10.412056698 +0000 r29553/keywords.f 2016-03-16 18:35:12.100074048 +0000
352:       DISTANCETO1=1352:       DISTANCETO1=1
353:       DISTANCETO2=1353:       DISTANCETO2=1
354: 354: 
355: ! hk286355: ! hk286
356:       GTHOMSONT = .FALSE.356:       GTHOMSONT = .FALSE.
357:       RIGIDINIT = .FALSE.357:       RIGIDINIT = .FALSE.
358:       DEGFREEDOMS = 3*NATOMS358:       DEGFREEDOMS = 3*NATOMS
359: 359: 
360: ! kr366: get frqs360: ! kr366: get frqs
361:       GETMINFRQST = .FALSE.361:       GETMINFRQST = .FALSE.
362:       GETTSFRQST = .FALSE. 
363: 362: 
364: ! sn402: keywords for manipulating pairfiles. Must be used with USEPAIRS363: ! sn402: keywords for manipulating pairfiles. Must be used with USEPAIRS
365:       MAKEPAIRS = .FALSE.364:       MAKEPAIRS = .FALSE.
366:       SKIPPAIRST = .FALSE.365:       SKIPPAIRST = .FALSE.
367: 366: 
368: C367: C
369: C SAT: Now, there it is! Unit 5 is a standard input unit, and we must not use it!368: C SAT: Now, there it is! Unit 5 is a standard input unit, and we must not use it!
370: C 5--->959369: C 5--->959
371: C370: C
372:       OPEN (959,FILE='pathdata',STATUS='OLD')371:       OPEN (959,FILE='pathdata',STATUS='OLD')
1130:             ENDIF1129:             ENDIF
1131:          ENDIF1130:          ENDIF
1132: C1131: C
1133: C  Distance criterion for distinguishing stationary points1132: C  Distance criterion for distinguishing stationary points
1134: C1133: C
1135:       ELSE IF (WORD.EQ.'GEOMDIFFTOL') THEN1134:       ELSE IF (WORD.EQ.'GEOMDIFFTOL') THEN
1136:          CALL READF(GEOMDIFFTOL)1135:          CALL READF(GEOMDIFFTOL)
1137: 1136: 
1138:       ELSE IF (WORD.EQ.'GETMINFRQS') THEN1137:       ELSE IF (WORD.EQ.'GETMINFRQS') THEN
1139:          GETMINFRQST=.TRUE.1138:          GETMINFRQST=.TRUE.
1140:          IF (GETTSFRQST) THEN 
1141:             PRINT *,'keywords> only GETMINRFQS or GETTSFRQS can be set' 
1142:             STOP 
1143:          ENDIF 
1144:          PRINT *,'keywords> get min frqs' 
1145:  
1146:       ELSE IF (WORD.EQ.'GETTSFRQS') THEN 
1147:          GETTSFRQST=.TRUE. 
1148:          IF (GETMINFRQST) THEN 
1149:             PRINT *,'keywords> only GETMINRFQS or GETTSFRQS can be set' 
1150:             STOP 
1151:          ENDIF 
1152:          PRINT *,'keywords> get ts frqs' 
1153:  
1154: C1139: C
1155: C  Specify graph transformation rate calculation. NCONNMIN is the connectivity1140: C  Specify graph transformation rate calculation. NCONNMIN is the connectivity
1156: C  at which (and below) minima are removed. GTINT is the interval for performing1141: C  at which (and below) minima are removed. GTINT is the interval for performing
1157: C  the analysis during a DPS calculation. IF GTINT=1 we do the analysis every cycle,1142: C  the analysis during a DPS calculation. IF GTINT=1 we do the analysis every cycle,
1158: C  consisting of NCPU jobs, if GTINT=2 we do the analysis every other cycle. 1143: C  consisting of NCPU jobs, if GTINT=2 we do the analysis every other cycle. 
1159: C  GTINT is zero by default, in which case we only do the analysis if NATTEMPTS=0.1144: C  GTINT is zero by default, in which case we only do the analysis if NATTEMPTS=0.
1160: C  GT is the original DJW implementation where we renormalise out all intervening1145: C  GT is the original DJW implementation where we renormalise out all intervening
1161: C  miinima. The resulting branching probablities and waiting times do not allow1146: C  miinima. The resulting branching probablities and waiting times do not allow
1162: C  for return to the starting minimum - they are like the rejection-free BKL approach.1147: C  for return to the starting minimum - they are like the rejection-free BKL approach.
1163: C1148: C


r29554/main.F 2016-03-16 18:35:10.608058705 +0000 r29553/main.F 2016-03-16 18:35:12.292076026 +0000
542:       ENDIF542:       ENDIF
543:       IF (CHECKTST) THEN543:       IF (CHECKTST) THEN
544:          IF (CHECKSPS.LE.0) CHECKSPS=1544:          IF (CHECKSPS.LE.0) CHECKSPS=1
545:          IF (CHECKSPF.LE.0) CHECKSPF=NTS545:          IF (CHECKSPF.LE.0) CHECKSPF=NTS
546:          PRINT '(2(A,I10))','Checking transition states from ',CHECKSPS,' to ',CHECKSPF546:          PRINT '(2(A,I10))','Checking transition states from ',CHECKSPS,' to ',CHECKSPF
547:          INQUIRE(FILE='odata.checksp',EXIST=YESNOT)547:          INQUIRE(FILE='odata.checksp',EXIST=YESNOT)
548:          IF (.NOT.YESNOT) THEN548:          IF (.NOT.YESNOT) THEN
549:             WRITE(*,'(A)') 'main> ERROR - no odata.checksp file present'549:             WRITE(*,'(A)') 'main> ERROR - no odata.checksp file present'
550:             STOP550:             STOP
551:          ENDIF551:          ENDIF
552:          IF (GETTSFRQST) THEN 
553:             WRITE(*,'(A)') 'main> Dump frequencies for all transition states.' 
554:          ENDIF 
555:       ENDIF552:       ENDIF
556:       IF (ADDMINXYZT) THEN553:       IF (ADDMINXYZT) THEN
557:          PRINT '(2(A,I10))','main> Adding minima from file ' // TRIM(ADJUSTL(ADDMINXYZNAME))554:          PRINT '(2(A,I10))','main> Adding minima from file ' // TRIM(ADJUSTL(ADDMINXYZNAME))
558:          PRINT '(2(A,I10))','main> after running OPTIM using odata.addminxyz template to generate min.data.info'555:          PRINT '(2(A,I10))','main> after running OPTIM using odata.addminxyz template to generate min.data.info'
559:          INQUIRE(FILE='odata.addminxyz',EXIST=YESNOT)556:          INQUIRE(FILE='odata.addminxyz',EXIST=YESNOT)
560:          IF (.NOT.YESNOT) THEN557:          IF (.NOT.YESNOT) THEN
561:             WRITE(*,'(A)') 'main> ERROR - no odata.addminxyz file present'558:             WRITE(*,'(A)') 'main> ERROR - no odata.addminxyz file present'
562:             STOP559:             STOP
563:          ENDIF560:          ENDIF
564:          LUNIT=GETUNIT()561:          LUNIT=GETUNIT()


r29554/nodes.f90 2016-03-16 18:35:10.796060637 +0000 r29553/nodes.f90 2016-03-16 18:35:12.484077996 +0000
  1: MODULE NODES  1: MODULE NODES
  2:      USE COMMONS,ONLY : SLURMT, PBST, CHECKSPT, DEBUG, GETMINFRQST, GETTSFRQST  2:      USE COMMONS,ONLY : SLURMT, PBST, CHECKSPT, DEBUG, GETMINFRQST
  3:      USE PORFUNCS  3:      USE PORFUNCS
  4:      IMPLICIT NONE  4:      IMPLICIT NONE
  5:      SAVE  5:      SAVE
  6:   6: 
  7:      INTEGER :: JPN,NNODES,NNLEN,MYSTAT,ACTUALLENPATH  7:      INTEGER :: JPN,NNODES,NNLEN,MYSTAT,ACTUALLENPATH
  8:      INTEGER, PARAMETER :: LENPATH=7000  8:      INTEGER, PARAMETER :: LENPATH=7000
  9:      CHARACTER(LEN=80),ALLOCATABLE,DIMENSION(:) :: NODENAME  9:      CHARACTER(LEN=80),ALLOCATABLE,DIMENSION(:) :: NODENAME
 10:      CHARACTER(LEN=80) :: USERNAME, RANSTRING 10:      CHARACTER(LEN=80) :: USERNAME, RANSTRING
 11:      CHARACTER(LEN=100) :: WORKINGDIRECTORY 11:      CHARACTER(LEN=100) :: WORKINGDIRECTORY
 12:      CHARACTER(LEN=7000) :: TOTALJOBSTRING 12:      CHARACTER(LEN=7000) :: TOTALJOBSTRING
260:              TOTALJOBSTRING=TRIM(ADJUSTL(TOTALJOBSTRING)) &260:              TOTALJOBSTRING=TRIM(ADJUSTL(TOTALJOBSTRING)) &
261:    &            // ' ; scp OPTIM* min.data.info* ' // TRIM(ADJUSTL(HOSTNAME)) // ':'// TRIM(ADJUSTL(WORKINGDIRECTORY))261:    &            // ' ; scp OPTIM* min.data.info* ' // TRIM(ADJUSTL(HOSTNAME)) // ':'// TRIM(ADJUSTL(WORKINGDIRECTORY))
262:           ELSEIF (COPYOPTIMT) THEN ! copy path.info, OPTIM, odata and finish262:           ELSEIF (COPYOPTIMT) THEN ! copy path.info, OPTIM, odata and finish
263: !            IF (CHECKSPT) THEN263: !            IF (CHECKSPT) THEN
264: !               TOTALJOBSTRING=TRIM(ADJUSTL(TOTALJOBSTRING)) &264: !               TOTALJOBSTRING=TRIM(ADJUSTL(TOTALJOBSTRING)) &
265: !  &            // ' ; scp OPTIM* ' // TRIM(ADJUSTL(HOSTNAME)) // ':' // TRIM(ADJUSTL(WORKINGDIRECTORY))265: !  &            // ' ; scp OPTIM* ' // TRIM(ADJUSTL(HOSTNAME)) // ':' // TRIM(ADJUSTL(WORKINGDIRECTORY))
266: !            ELSE266: !            ELSE
267:                 TOTALJOBSTRING=TRIM(ADJUSTL(TOTALJOBSTRING)) &267:                 TOTALJOBSTRING=TRIM(ADJUSTL(TOTALJOBSTRING)) &
268:    &            // ' ; scp OPTIM* *info* ' // TRIM(ADJUSTL(HOSTNAME)) // ':' // TRIM(ADJUSTL(WORKINGDIRECTORY))268:    &            // ' ; scp OPTIM* *info* ' // TRIM(ADJUSTL(HOSTNAME)) // ':' // TRIM(ADJUSTL(WORKINGDIRECTORY))
269: !            ENDIF269: !            ENDIF
 270:           ELSEIF (GETMINFRQST) THEN !need to copy frqs.dump
 271:              TOTALJOBSTRING=TRIM(ADJUSTL(TOTALJOBSTRING)) &
 272:    &            // ' ; scp frqs.dump* ' // TRIM(ADJUSTL(HOSTNAME)) // ':'// TRIM(ADJUSTL(WORKINGDIRECTORY))
270:           ELSE ! we only really need path.info or min.data.info273:           ELSE ! we only really need path.info or min.data.info
271: !            IF (BHINTERPT.OR.BISECTT) THEN274: !            IF (BHINTERPT.OR.BISECTT) THEN
272: !               TOTALJOBSTRING=TRIM(ADJUSTL(TOTALJOBSTRING)) &275: !               TOTALJOBSTRING=TRIM(ADJUSTL(TOTALJOBSTRING)) &
273: !  &            // ' ; scp min.data.info* ' // TRIM(ADJUSTL(HOSTNAME)) // ':' // TRIM(ADJUSTL(WORKINGDIRECTORY))276: !  &            // ' ; scp min.data.info* ' // TRIM(ADJUSTL(HOSTNAME)) // ':' // TRIM(ADJUSTL(WORKINGDIRECTORY))
274: !            ELSE277: !            ELSE
275:                 TOTALJOBSTRING=TRIM(ADJUSTL(TOTALJOBSTRING)) &278:                 TOTALJOBSTRING=TRIM(ADJUSTL(TOTALJOBSTRING)) &
276:    &            // ' ; scp *info* ' // TRIM(ADJUSTL(HOSTNAME)) // ':' // TRIM(ADJUSTL(WORKINGDIRECTORY))279:    &            // ' ; scp *info* ' // TRIM(ADJUSTL(HOSTNAME)) // ':' // TRIM(ADJUSTL(WORKINGDIRECTORY))
277: !            ENDIF280: !            ENDIF
278:           ENDIF281:           ENDIF
279:           IF (GETMINFRQST.OR.GETTSFRQST) THEN !need to copy frqs.dump 
280:              TOTALJOBSTRING=TRIM(ADJUSTL(TOTALJOBSTRING)) & 
281:    &            // ' ; scp frqs.* ' // TRIM(ADJUSTL(HOSTNAME)) // ':'// TRIM(ADJUSTL(WORKINGDIRECTORY)) 
282:           END IF 
283: ! (6) remove the scratch directory282: ! (6) remove the scratch directory
284:           TOTALJOBSTRING=TRIM(ADJUSTL(TOTALJOBSTRING)) // ' ; rm -r ' // TRIM(ADJUSTL(PATHSTRING)) // ' " '283:           TOTALJOBSTRING=TRIM(ADJUSTL(TOTALJOBSTRING)) // ' ; rm -r ' // TRIM(ADJUSTL(PATHSTRING)) // ' " '
285: !     or don;t rm it for debugging284: !     or don;t rm it for debugging
286: !         TOTALJOBSTRING=TRIM(ADJUSTL(TOTALJOBSTRING)) // ' ; ' // ' " '285: !         TOTALJOBSTRING=TRIM(ADJUSTL(TOTALJOBSTRING)) // ' ; ' // ' " '
287: !         TOTALJOBSTRING=TRIM(ADJUSTL(TOTALJOBSTRING)) // ' ; ls ' // TRIM(ADJUSTL(PATHSTRING)) // ' " '286: !         TOTALJOBSTRING=TRIM(ADJUSTL(TOTALJOBSTRING)) // ' ; ls ' // TRIM(ADJUSTL(PATHSTRING)) // ' " '
288:           IF (LDEBUG) PRINT '(2A)', 'nodes> complete job string: ',TRIM(ADJUSTL(TOTALJOBSTRING)) 287:           IF (LDEBUG) PRINT '(2A)', 'nodes> complete job string: ',TRIM(ADJUSTL(TOTALJOBSTRING)) 
289: ! (7) submit the job for real288: ! (7) submit the job for real
290: !         CALL SYSTEM_SUBR(TRIM(ADJUSTL(KILLSTRING)),MYSTATUS)  289: !         CALL SYSTEM_SUBR(TRIM(ADJUSTL(KILLSTRING)),MYSTATUS)  
291:           CALL SYSTEM_SUBR(TRIM(ADJUSTL(TOTALJOBSTRING)),MYSTATUS)  290:           CALL SYSTEM_SUBR(TRIM(ADJUSTL(TOTALJOBSTRING)),MYSTATUS)  
292:           STAT=MYSTATUS291:           STAT=MYSTATUS


legend
Lines Added 
Lines changed
 Lines Removed

hdiff - version: 2.1.0