hdiff output

r29513/commons.f90 2016-03-16 18:34:47.899825221 +0000 r29512/commons.f90 2016-03-16 18:34:49.559842288 +0000
163: 163: 
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 frqs 
174:       LOGICAL :: GETMINFRQST 
175: END MODULE COMMONS173: END MODULE COMMONS


r29513/cycle2.f90 2016-03-16 18:34:48.091827194 +0000 r29512/cycle2.f90 2016-03-16 18:34:49.779844552 +0000
 15: !   You should have received a copy of the GNU General Public License 15: !   You should have received a copy of the GNU General Public License
 16: !   along with this program; if not, write to the Free Software 16: !   along with this program; if not, write to the Free Software
 17: !   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA 17: !   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 18: ! 18: !
 19:  19: 
 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
 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 30: LOGICAL KILLED, STOPCYCLE, CHANGEPD, OPTEST, NOMORE, LTEST1, LTEST2
 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
255:    IF (NAVAIL.EQ.0) THEN255:    IF (NAVAIL.EQ.0) THEN
256:       IF (SLEEPTIME1.GT.0.0D0) CALL SYSTEM(TRIM(ADJUSTL(SLEEPSTRING1))) ! to allow jobs to catch up for demos256:       IF (SLEEPTIME1.GT.0.0D0) CALL SYSTEM(TRIM(ADJUSTL(SLEEPSTRING1))) ! to allow jobs to catch up for demos
257:    ENDIF257:    ENDIF
258:    KILLED=.FALSE.258:    KILLED=.FALSE.
259:    CALL FLUSH(6) ! the child process may duplicate output without this line!259:    CALL FLUSH(6) ! the child process may duplicate output without this line!
260:    CALL FLUSH(6)260:    CALL FLUSH(6)
261:    IF (CHECKSPT.OR.ADDMINXYZT) THEN261:    IF (CHECKSPT.OR.ADDMINXYZT) THEN
262:       DO J2=1,NCPU262:       DO J2=1,NCPU
263:          IF (MINID(J2).GT.0) GOTO 113263:          IF (MINID(J2).GT.0) GOTO 113
264:       ENDDO264:       ENDDO
265:  
266:       PRINT '(A)','cycle2> No more candidates to run'265:       PRINT '(A)','cycle2> No more candidates to run'
267:       STOP266:       STOP
268:    ENDIF267:    ENDIF
269: 113 CONTINUE268: 113 CONTINUE
270:    CALL WAIT_SUBR(PIDDONE,STATUS)269:    CALL WAIT_SUBR(PIDDONE,STATUS)
271: 11 CONTINUE270: 11 CONTINUE
272: !  PRINT '(A,5I8)','cycle2> PIDDONE,STATUS,PID=',PIDDONE,STATUS,PID(1:NCPU)271: !  PRINT '(A,5I8)','cycle2> PIDDONE,STATUS,PID=',PIDDONE,STATUS,PID(1:NCPU)
273:    CALL FLUSH(6) ! the child process may duplicate output without this line!272:    CALL FLUSH(6) ! the child process may duplicate output without this line!
274:    IF (PIDDONE.GT.0) THEN273:    IF (PIDDONE.GT.0) THEN
275:       IF (DEBUG) PRINT '(A,I8,A,I6)','cycle2> PID ',PIDDONE,' has finished with exit status ',STATUS274:       IF (DEBUG) PRINT '(A,I8,A,I6)','cycle2> PID ',PIDDONE,' has finished with exit status ',STATUS
289: !288: !
290: ! Try calling wait again to see if this fixes things. 289: ! Try calling wait again to see if this fixes things. 
291: ! For very short OPTIM jobs WAIT may have trouble keeping up!290: ! For very short OPTIM jobs WAIT may have trouble keeping up!
292: !291: !
293:       CALL MYSYSTEM(STATUS,DEBUG,' sleep 1')292:       CALL MYSYSTEM(STATUS,DEBUG,' sleep 1')
294:       IF (CHECKSPT.OR.ADDMINXYZT) THEN293:       IF (CHECKSPT.OR.ADDMINXYZT) THEN
295:          DO J2=1,NCPU294:          DO J2=1,NCPU
296:             IF (MINID(J2).GT.0) GOTO 114295:             IF (MINID(J2).GT.0) GOTO 114
297:          ENDDO296:          ENDDO
298:          PRINT '(A)','cycle2> No more candidates to check'297:          PRINT '(A)','cycle2> No more candidates to check'
299:          CLOSE(513) 
300:          STOP298:          STOP
301:       ENDIF299:       ENDIF
302: 114   CONTINUE300: 114   CONTINUE
303:       CALL WAIT_SUBR(PIDDONE,STATUS)301:       CALL WAIT_SUBR(PIDDONE,STATUS)
304:       PRINT '(2(A,I8))','cycle2> on calling wait again pid=',PIDDONE,' status=',STATUS302:       PRINT '(2(A,I8))','cycle2> on calling wait again pid=',PIDDONE,' status=',STATUS
305:       IF (PIDDONE.LE.0) PRINT '(2(A,I8))','cycle2> WARNING *** continuing for non-positive process id'303:       IF (PIDDONE.LE.0) PRINT '(2(A,I8))','cycle2> WARNING *** continuing for non-positive process id'
306:       IF (STATUS.EQ.0) GOTO 10304:       IF (STATUS.EQ.0) GOTO 10
307: !     IF (PIDDONE.GT.0) GOTO 11305: !     IF (PIDDONE.GT.0) GOTO 11
308: !     CALL MYSYSTEM(STATUS,DEBUG,' sleep 1')306: !     CALL MYSYSTEM(STATUS,DEBUG,' sleep 1')
309: !     GOTO 112307: !     GOTO 112
323: !  If KILLED is .TRUE. there could be a viable path.info file if DUMPALLPATHS is set in321: !  If KILLED is .TRUE. there could be a viable path.info file if DUMPALLPATHS is set in
324: !  OPTIM. 322: !  OPTIM. 
325: !  It would be nice if we had the OPTIM exit status when running in a distributed323: !  It would be nice if we had the OPTIM exit status when running in a distributed
326: !  environment - but we don;t! Instead we have the exit status of the attempt to copy324: !  environment - but we don;t! Instead we have the exit status of the attempt to copy
327: !  back the path.info file for distributed environments, and the OPTIM exit status325: !  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!326: !  for SMP. We can go ahead and try to analyse a path.info file so long as it exists!
329: !327: !
330:    IF (BHINTERPT.OR.BISECTT) THEN328:    IF (BHINTERPT.OR.BISECTT) THEN
331:       CALL MYSYSTEM(STATUS,DEBUG,'cp min.data.info.'//TRIM(ADJUSTL(CONNSTR))//' min.data.info')329:       CALL MYSYSTEM(STATUS,DEBUG,'cp min.data.info.'//TRIM(ADJUSTL(CONNSTR))//' min.data.info')
332:    ELSEIF (CHECKSPT) THEN330:    ELSEIF (CHECKSPT) THEN
333:       INQUIRE(FILE='frqs.min',EXIST=MINFRQSDUMP) 
334:       IF ((GETMINFRQST).AND.(.NOT.(MINFRQSDUMP))) THEN 
335:          OPEN(513,FILE='frqs.min',ACCESS='APPEND',ACTION='WRITE',STATUS='UNKNOWN') 
336:       ENDIF 
337:       INQUIRE(FILE='OPTIM.checksp.'//TRIM(ADJUSTL(CONNSTR)),EXIST=OPTEST)331:       INQUIRE(FILE='OPTIM.checksp.'//TRIM(ADJUSTL(CONNSTR)),EXIST=OPTEST)
338:       IF (OPTEST) THEN332:       IF (OPTEST) THEN
339:          CALL MYSYSTEM(STATUS,DEBUG,'grep -c CONVERGED OPTIM.checksp.'//TRIM(ADJUSTL(CONNSTR)) &333:          CALL MYSYSTEM(STATUS,DEBUG,'grep -c CONVERGED OPTIM.checksp.'//TRIM(ADJUSTL(CONNSTR)) &
340:   &                    // ' > convcheck.'//TRIM(ADJUSTL(CONNSTR)))334:   &                    // ' > convcheck.'//TRIM(ADJUSTL(CONNSTR)))
341:          LUNIT=GETUNIT()335:          LUNIT=GETUNIT()
342:          OPEN(LUNIT,FILE='convcheck.'//TRIM(ADJUSTL(CONNSTR)))336:          OPEN(LUNIT,FILE='convcheck.'//TRIM(ADJUSTL(CONNSTR)))
343:          READ(LUNIT,*) NDUMMY 337:          READ(LUNIT,*) NDUMMY 
344:          CLOSE(LUNIT)338:          CLOSE(LUNIT)
345:          IF (NDUMMY.EQ.1) THEN339:          IF (NDUMMY.EQ.1) THEN
346:             PRINT '(3(A,I8))','cycle2> stationary point ',MINID(NEWJOB), &340:            PRINT '(3(A,I8))','cycle2> stationary point ',MINID(NEWJOB), &
347:   &                           ' process id ',PID(NEWJOB),' converged on cpu ',NEWJOB341:   &                           ' process id ',PID(NEWJOB),' converged on cpu ',NEWJOB
348:             !kr366> get frequency from frqs.dump 
349:             IF (GETMINFRQST) THEN 
350:                OPEN(514,FILE='frqs.dump.'//TRIM(ADJUSTL(CONNSTR)),ACTION='READ',STATUS='OLD') 
351:                READ(514,*) MINFRQ  
352:                WRITE(513,'(I8,F20.10)') J2 , MINFRQ 
353:                CLOSE(514) 
354:                !CALL MYSYSTEM(STATUS,DEBUG,'rm frqs.dump.'//TRIM(ADJUSTL(CONNSTR))) 
355:             ENDIF 
356:          ELSE342:          ELSE
357:             PRINT '(3(A,I8))','cycle2> WARNING *** stationary point ',MINID(NEWJOB), &343:             PRINT '(3(A,I8))','cycle2> WARNING *** stationary point ',MINID(NEWJOB), &
358:   &                           ' process id ',PID(NEWJOB),' no CONVERGED message ',NEWJOB344:   &                           ' process id ',PID(NEWJOB),' no CONVERGED message ',NEWJOB
359:          ENDIF345:          ENDIF
360:       ELSE346:       ELSE
361:          PRINT '(3(A,I8))','cycle2> ERROR *** no OPTIM output file for stationary point ',MINID(NEWJOB), &347:          PRINT '(3(A,I8))','cycle2> ERROR *** no OPTIM output file for stationary point ',MINID(NEWJOB), &
362:   &                        ' process id ',PID(NEWJOB),' cpu ',NEWJOB348:   &                        ' process id ',PID(NEWJOB),' cpu ',NEWJOB
363:       ENDIF349:       ENDIF
364:       STATUS=-1350:       STATUS=-1
365:    ELSEIF (ADDMINXYZT) THEN351:    ELSEIF (ADDMINXYZT) THEN


r29513/geopt.f 2016-03-16 18:34:47.303819093 +0000 r29512/geopt.f 2016-03-16 18:34:48.911835626 +0000
1161:                   PRINT '(I6,2(G20.10,A2))',J1,SQRT(-EVALUES(J1)*2625.47D26)/(2*3.141592654D0),' i',1161:                   PRINT '(I6,2(G20.10,A2))',J1,SQRT(-EVALUES(J1)*2625.47D26)/(2*3.141592654D0),' i',
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 PATHSAMPLE 
1172:             IF (DUMPMINFRQST) THEN 
1173:                 IF (FILTH.EQ.0) THEN 
1174:                    OPEN(91220,FILE='frqs.dump',ACCESS='APPEND',ACTION='WRITE',STATUS='UNKNOWN') 
1175:                 ELSE 
1176:                    OPEN(91220,FILE='frqs.dump.'//TRIM(ADJUSTL(FILTHSTR)),ACCESS='APPEND',ACTION='WRITE',STATUS='UNKNOWN') 
1177:                 END IF 
1178:                 WRITE(91220,*)  PROD 
1179:                 CLOSE(91220) 
1180:             ENDIF 
1181:          ELSE1171:          ELSE
1182:             IF (NENDHESS-NEXMODES.GT.0) WRITE(*,'(A,I8,A,F20.10)') ' geopt> Log product of ',NENDHESS-NEXMODES,1172:             IF (NENDHESS-NEXMODES.GT.0) WRITE(*,'(A,I8,A,F20.10)') ' geopt> Log product of ',NENDHESS-NEXMODES,
1183:      &           ' positive Hessian eigenvalues=',PROD1173:      &           ' positive Hessian eigenvalues=',PROD
1184:             !kr366> dumps frqs into dump.frqs, used with GETMINFRQS keyword from PATHSAMPLE 
1185:             IF (DUMPMINFRQST) THEN 
1186:                 IF (FILTH.EQ.0) THEN 
1187:                    OPEN(91220,FILE='frqs.dump',ACCESS='APPEND',ACTION='WRITE',STATUS='UNKNOWN') 
1188:                 ELSE 
1189:                    OPEN(91220,FILE='frqs.dump.'//TRIM(ADJUSTL(FILTHSTR)),ACCESS='APPEND',ACTION='WRITE',STATUS='UNKNOWN') 
1190:                 END IF 
1191:                 WRITE(91220,*)  PROD 
1192:                 CLOSE(91220) 
1193:             ENDIF 
1194:          ENDIF1174:          ENDIF
1195:       ENDIF1175:       ENDIF
1196: 1176: 
1197:       IF (CHRMMT.AND.CALCDIHE) THEN1177:       IF (CHRMMT.AND.CALCDIHE) THEN
1198:          STOP 'Necessary CHARMM routines not implemented yet for NSEG>1'1178:          STOP 'Necessary CHARMM routines not implemented yet for NSEG>1'
1199: C         LSELECT=.FALSE.1179: C         LSELECT=.FALSE.
1200: C         CALL CHCALCRGYR(RGYR,Q,LSELECT)1180: C         CALL CHCALCRGYR(RGYR,Q,LSELECT)
1201: C         LNATIVE=.FALSE.1181: C         LNATIVE=.FALSE.
1202: C         CALL CHCALCNUMHB(NUMHB,Q,LNATIVE)1182: C         CALL CHCALCNUMHB(NUMHB,Q,LNATIVE)
1203: C         CALL CHCALCRMSD(RMSD,Q)1183: C         CALL CHCALCRMSD(RMSD,Q)


r29513/key.f90 2016-03-16 18:34:47.495821066 +0000 r29512/key.f90 2016-03-16 18:34:49.123837806 +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, DUMPMINFRQST 54:      &        PERMGUESS, QCIPERMCHECK
 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


r29513/keywords.f 2016-03-16 18:34:48.291829253 +0000 r29512/keywords.f 2016-03-16 18:34:49.983846651 +0000
350:       DISTANCET=.FALSE.350:       DISTANCET=.FALSE.
351:       DISTANCETO=1351:       DISTANCETO=1
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 frqs 
361:       GETMINFRQST = .FALSE. 
362:  
363: ! sn402: keywords for manipulating pairfiles. Must be used with USEPAIRS360: ! sn402: keywords for manipulating pairfiles. Must be used with USEPAIRS
364:       MAKEPAIRS = .FALSE.361:       MAKEPAIRS = .FALSE.
365:       SKIPPAIRST = .FALSE.362:       SKIPPAIRST = .FALSE.
366: 363: 
367: C364: C
368: C SAT: Now, there it is! Unit 5 is a standard input unit, and we must not use it!365: C SAT: Now, there it is! Unit 5 is a standard input unit, and we must not use it!
369: C 5--->959366: C 5--->959
370: C367: C
371:       OPEN (959,FILE='pathdata',STATUS='OLD')368:       OPEN (959,FILE='pathdata',STATUS='OLD')
372: C369: C
1126:                PRINT *,'keywords> GMIN lowest file not expected to contain atom labels'1123:                PRINT *,'keywords> GMIN lowest file not expected to contain atom labels'
1127:             ELSE1124:             ELSE
1128:                STOP ' ERROR: Invalid argument to FROMLOWEST keyword in pathdata'1125:                STOP ' ERROR: Invalid argument to FROMLOWEST keyword in pathdata'
1129:             ENDIF1126:             ENDIF
1130:          ENDIF1127:          ENDIF
1131: C1128: C
1132: C  Distance criterion for distinguishing stationary points1129: C  Distance criterion for distinguishing stationary points
1133: C1130: C
1134:       ELSE IF (WORD.EQ.'GEOMDIFFTOL') THEN1131:       ELSE IF (WORD.EQ.'GEOMDIFFTOL') THEN
1135:          CALL READF(GEOMDIFFTOL)1132:          CALL READF(GEOMDIFFTOL)
1136:  
1137:       ELSE IF (WORD.EQ.'GETMINFRQS') THEN 
1138:          GETMINFRQST=.TRUE. 
1139: C1133: C
1140: C  Specify graph transformation rate calculation. NCONNMIN is the connectivity1134: C  Specify graph transformation rate calculation. NCONNMIN is the connectivity
1141: C  at which (and below) minima are removed. GTINT is the interval for performing1135: C  at which (and below) minima are removed. GTINT is the interval for performing
1142: C  the analysis during a DPS calculation. IF GTINT=1 we do the analysis every cycle,1136: C  the analysis during a DPS calculation. IF GTINT=1 we do the analysis every cycle,
1143: C  consisting of NCPU jobs, if GTINT=2 we do the analysis every other cycle. 1137: C  consisting of NCPU jobs, if GTINT=2 we do the analysis every other cycle. 
1144: C  GTINT is zero by default, in which case we only do the analysis if NATTEMPTS=0.1138: C  GTINT is zero by default, in which case we only do the analysis if NATTEMPTS=0.
1145: C  GT is the original DJW implementation where we renormalise out all intervening1139: C  GT is the original DJW implementation where we renormalise out all intervening
1146: C  miinima. The resulting branching probablities and waiting times do not allow1140: C  miinima. The resulting branching probablities and waiting times do not allow
1147: C  for return to the starting minimum - they are like the rejection-free BKL approach.1141: C  for return to the starting minimum - they are like the rejection-free BKL approach.
1148: C1142: C


r29513/main.F 2016-03-16 18:34:48.487831267 +0000 r29512/main.F 2016-03-16 18:34:50.195848827 +0000
529:       ENDIF529:       ENDIF
530:       IF (CHECKMINT) THEN530:       IF (CHECKMINT) THEN
531:          IF (CHECKSPS.LE.0) CHECKSPS=1531:          IF (CHECKSPS.LE.0) CHECKSPS=1
532:          IF (CHECKSPF.LE.0) CHECKSPF=NMIN532:          IF (CHECKSPF.LE.0) CHECKSPF=NMIN
533:          PRINT '(2(A,I10))','Checking minima from ',CHECKSPS,' to ',CHECKSPF533:          PRINT '(2(A,I10))','Checking minima from ',CHECKSPS,' to ',CHECKSPF
534:          INQUIRE(FILE='odata.checksp',EXIST=YESNOT)534:          INQUIRE(FILE='odata.checksp',EXIST=YESNOT)
535:          IF (.NOT.YESNOT) THEN535:          IF (.NOT.YESNOT) THEN
536:             WRITE(*,'(A)') 'main> ERROR - no odata.checksp file present'536:             WRITE(*,'(A)') 'main> ERROR - no odata.checksp file present'
537:             STOP537:             STOP
538:          ENDIF538:          ENDIF
539:          IF (GETMINFRQST) THEN 
540:             WRITE(*,'(A)') 'main> Dump frequencies for all minima.' 
541:          ENDIF 
542:       ENDIF539:       ENDIF
543:       IF (CHECKTST) THEN540:       IF (CHECKTST) THEN
544:          IF (CHECKSPS.LE.0) CHECKSPS=1541:          IF (CHECKSPS.LE.0) CHECKSPS=1
545:          IF (CHECKSPF.LE.0) CHECKSPF=NTS542:          IF (CHECKSPF.LE.0) CHECKSPF=NTS
546:          PRINT '(2(A,I10))','Checking transition states from ',CHECKSPS,' to ',CHECKSPF543:          PRINT '(2(A,I10))','Checking transition states from ',CHECKSPS,' to ',CHECKSPF
547:          INQUIRE(FILE='odata.checksp',EXIST=YESNOT)544:          INQUIRE(FILE='odata.checksp',EXIST=YESNOT)
548:          IF (.NOT.YESNOT) THEN545:          IF (.NOT.YESNOT) THEN
549:             WRITE(*,'(A)') 'main> ERROR - no odata.checksp file present'546:             WRITE(*,'(A)') 'main> ERROR - no odata.checksp file present'
550:             STOP547:             STOP
551:          ENDIF548:          ENDIF


r29513/nodes.f90 2016-03-16 18:34:48.691833366 +0000 r29512/nodes.f90 2016-03-16 18:34:50.407851007 +0000
  1: MODULE NODES  1: MODULE NODES
  2:      USE COMMONS,ONLY : SLURMT, PBST, CHECKSPT, DEBUG, GETMINFRQST  2:      USE COMMONS,ONLY : SLURMT, PBST, CHECKSPT, DEBUG
  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)) 
273:           ELSE ! we only really need path.info or min.data.info270:           ELSE ! we only really need path.info or min.data.info
274: !            IF (BHINTERPT.OR.BISECTT) THEN271: !            IF (BHINTERPT.OR.BISECTT) THEN
275: !               TOTALJOBSTRING=TRIM(ADJUSTL(TOTALJOBSTRING)) &272: !               TOTALJOBSTRING=TRIM(ADJUSTL(TOTALJOBSTRING)) &
276: !  &            // ' ; scp min.data.info* ' // TRIM(ADJUSTL(HOSTNAME)) // ':' // TRIM(ADJUSTL(WORKINGDIRECTORY))273: !  &            // ' ; scp min.data.info* ' // TRIM(ADJUSTL(HOSTNAME)) // ':' // TRIM(ADJUSTL(WORKINGDIRECTORY))
277: !            ELSE274: !            ELSE
278:                 TOTALJOBSTRING=TRIM(ADJUSTL(TOTALJOBSTRING)) &275:                 TOTALJOBSTRING=TRIM(ADJUSTL(TOTALJOBSTRING)) &
279:    &            // ' ; scp *info* ' // TRIM(ADJUSTL(HOSTNAME)) // ':' // TRIM(ADJUSTL(WORKINGDIRECTORY))276:    &            // ' ; scp *info* ' // TRIM(ADJUSTL(HOSTNAME)) // ':' // TRIM(ADJUSTL(WORKINGDIRECTORY))
280: !            ENDIF277: !            ENDIF
281:           ENDIF278:           ENDIF
282: ! (6) remove the scratch directory279: ! (6) remove the scratch directory


legend
Lines Added 
Lines changed
 Lines Removed

hdiff - version: 2.1.0