hdiff output

r31527/commons.f90 2016-11-20 14:30:13.502142747 +0000 r31526/commons.f90 2016-11-20 14:30:14.822160364 +0000
  3:       INTEGER NMINA, NMINB, NMIN, NTS, SAVELENGTH, NPFOLD, PFOLDINT, NRWBINS, NUSEPAIRS, &  3:       INTEGER NMINA, NMINB, NMIN, NTS, SAVELENGTH, NPFOLD, PFOLDINT, NRWBINS, NUSEPAIRS, &
  4:      &        NATOMS, MAXLENGTH, CONNECTIONS, HORDER, ERROR, MINSEP, NRWREACTANT, &  4:      &        NATOMS, MAXLENGTH, CONNECTIONS, HORDER, ERROR, MINSEP, NRWREACTANT, &
  5:      &        NATTEMPT, NNEW, NTOTAL, NEXCLUDE, NPERMGROUP, BHSTEPS, NGTSIZE,  &  5:      &        NATTEMPT, NNEW, NTOTAL, NEXCLUDE, NPERMGROUP, BHSTEPS, NGTSIZE,  &
  6:      &        MAXCONN, KAPPA, ISEED, NTAG, NDIHE, NCPU, GTINT, NCONNMAX, BESTPATHLENGTH, NGLY, &  6:      &        MAXCONN, KAPPA, ISEED, NTAG, NDIHE, NCPU, GTINT, NCONNMAX, BESTPATHLENGTH, NGLY, &
  7:      &        STARTMINA, STARTMINB, WHICHMIN, SECONDMIN, WHICHTS, MAXATTEMPT, COSTFUNCTIONPOWER, &  7:      &        STARTMINA, STARTMINB, WHICHMIN, SECONDMIN, WHICHTS, MAXATTEMPT, COSTFUNCTIONPOWER, &
  8:      &        NPAIRDONE, NMINDONE, NPAIRFRQ, CHECKSPS, CHECKSPF, &  8:      &        NPAIRDONE, NMINDONE, NPAIRFRQ, CHECKSPS, CHECKSPF, &
  9:      &        BISECTSTEPS, BISECTMAXATTEMPTS, NDIAGEIG, QRELONE, QRELTWO, MAXTSATTEMPTS, &  9:      &        BISECTSTEPS, BISECTMAXATTEMPTS, NDIAGEIG, QRELONE, QRELTWO, MAXTSATTEMPTS, &
 10:      &        INTCONSEP, INTREPSEP, PAIRDISTMAX, PAIRDIST1, PAIRDIST2, PATOM1, PATOM2, NRANROT, & 10:      &        INTCONSEP, INTREPSEP, PAIRDISTMAX, PAIRDIST1, PAIRDIST2, PATOM1, PATOM2, NRANROT, &
 11:      &        NMINADDXYZ, LOCALPERMNEIGH, NRATESCYCLETEMPS, RATESUNIT, CONNMINSTART, DISTANCETO, & 11:      &        NMINADDXYZ, LOCALPERMNEIGH, NRATESCYCLETEMPS, RATESUNIT, CONNMINSTART, DISTANCETO, &
 12:      &        DISTANCETO1, DISTANCETO2, OSTART, OFINISH, PTSTART, PTFINISH, RFMULTIN, RFUNIT, & 12:      &        DISTANCETO1, DISTANCETO2, OSTART, OFINISH, PTSTART, PTFINISH, RFMULTIN, RFUNIT, &
 13:      &        RFKMCN, RFKMCSTEPS, NPEQ, MLPIN, MLPSTART, MLPOUT, MLPHIDDEN, NMLP, NOPT, CVSTARTMIN, CVENDMIN, CVINCMIN 13:      &        RFKMCN, RFKMCSTEPS, NPEQ, MLPIN, MLPOUT, MLPHIDDEN, NMLP, NOPT, CVSTARTMIN, CVENDMIN, CVINCMIN
 14:  14: 
 15:       INTEGER, ALLOCATABLE :: LOCATIONA(:), LOCATIONB(:) 15:       INTEGER, ALLOCATABLE :: LOCATIONA(:), LOCATIONB(:)
 16:       INTEGER, ALLOCATABLE :: NCONN(:)     ! reallocate MAXMIN when used 16:       INTEGER, ALLOCATABLE :: NCONN(:)     ! reallocate MAXMIN when used
 17:       INTEGER, ALLOCATABLE :: BESTPATH(:)   17:       INTEGER, ALLOCATABLE :: BESTPATH(:)  
 18:       INTEGER, ALLOCATABLE :: USEPAIRSMIN(:) 18:       INTEGER, ALLOCATABLE :: USEPAIRSMIN(:)
 19: ! 19: !
 20: ! I/O unit numbers 20: ! I/O unit numbers
 21: ! 21: !
 22:       INTEGER, PARAMETER :: UMINDATA=11, UTSDATA=12, UMIN=13, UTS=15 22:       INTEGER, PARAMETER :: UMINDATA=11, UTSDATA=12, UMIN=13, UTS=15
 23:  23: 
 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, PAIRSIGNORET, &108:      &        SHANNONRT, SHANNONZT, CUDAT, MLLJAT3, MLP3T, DIJPRUNET, PRINTSUMMARYT, MKTRAPT, MLPB3T, PRUNECYCLET, PAIRSIGNORET, &
109:      &        NOTRANSROTT, NOPOINTGROUPT109:      &        NOTRANSROTT
110: 110: 
111:       LOGICAL, ALLOCATABLE :: SHIFTABLE(:)111:       LOGICAL, ALLOCATABLE :: SHIFTABLE(:)
112:       CHARACTER(LEN=80) COORDSLIGANDSTR, COORDSCOMPLEXSTR, COORDSPROTEINSTR112:       CHARACTER(LEN=80) COORDSLIGANDSTR, COORDSCOMPLEXSTR, COORDSPROTEINSTR
113:       CHARACTER(LEN=80) EXEC,EXECGMIN113:       CHARACTER(LEN=80) EXEC,EXECGMIN
114:       CHARACTER(LEN=80) PATHNAME, MINNAME, ADDMINXYZNAME, ALLCOMPS114:       CHARACTER(LEN=80) PATHNAME, MINNAME, ADDMINXYZNAME, ALLCOMPS
115:       CHARACTER(LEN=150) COPYFILES115:       CHARACTER(LEN=150) COPYFILES
116:       CHARACTER(LEN=80) USEPAIRSFILE116:       CHARACTER(LEN=80) USEPAIRSFILE
117:       CHARACTER(LEN=80) MAKEPAIRSFILE117:       CHARACTER(LEN=80) MAKEPAIRSFILE
118:       CHARACTER(LEN=2) DIRECTION118:       CHARACTER(LEN=2) DIRECTION
119:       CHARACTER(LEN=5) UNCONNECTEDS119:       CHARACTER(LEN=5) UNCONNECTEDS


r31527/keywords.f 2016-11-20 14:30:13.826147071 +0000 r31526/keywords.f 2016-11-20 14:30:15.130164476 +0000
1446:       ELSE IF (WORD.EQ.'MLLJAT3') THEN1446:       ELSE IF (WORD.EQ.'MLLJAT3') THEN
1447:          MLLJAT3=.TRUE.1447:          MLLJAT3=.TRUE.
1448: !1448: !
1449: ! Three layer neural network (multilayer perceptron) with1449: ! Three layer neural network (multilayer perceptron) with
1450: ! MLPIN inputs (columns per data item)1450: ! MLPIN inputs (columns per data item)
1451: ! MLPOUT outputs1451: ! MLPOUT outputs
1452: ! MLPHIDDEN hidden nodes1452: ! MLPHIDDEN hidden nodes
1453: ! MLPDATA data lines in MLPdata file (last column MLPIN+1 for correct outputs, numbered one to MLPOUT)1453: ! MLPDATA data lines in MLPdata file (last column MLPIN+1 for correct outputs, numbered one to MLPOUT)
1454: ! MLPLAMBDA coefficient for regularisation1454: ! MLPLAMBDA coefficient for regularisation
1455: !1455: !
1456:       ELSE IF (WORD.EQ.'MLPB3NEW') THEN 
1457:          MLPB3T=.TRUE. 
1458:          ZSYM='  ' 
1459:          CALL READI(MLPIN)      ! number of inputs (data items after outcome) 
1460:          CALL READI(MLPSTART) ! starting position in data list, not counting outcome 
1461:          CALL READI(MLPHIDDEN) 
1462:          CALL READI(MLPOUT) 
1463: !        CALL READI(MLPDATA) 
1464: !        IF (NITEMS.GT.5) CALL READF(MLPLAMBDA) 
1465:          WRITE(*,'(A,5I8,G20.10)') ' keywords> MLP3 new potential bias nodes and Nin, Ninstart, Nhidden, Nout=', 
1466:      &                                MLPIN,MLPSTART,MLPHIDDEN,MLPOUT 
1467:          NMLP=MLPHIDDEN*(MLPIN+MLPOUT)+1 
1468:          NATOMS=NMLP 
1469:          NOPT=NMLP 
1470:       ELSE IF ((WORD.EQ.'MLP3').OR.(WORD.EQ.'MLPB3')) THEN1456:       ELSE IF ((WORD.EQ.'MLP3').OR.(WORD.EQ.'MLPB3')) THEN
1471:          MLP3T=.TRUE.1457:          MLP3T=.TRUE.
1472:          ZSYM='  '1458:          ZSYM='  '
1473:          CALL READI(MLPIN)1459:          CALL READI(MLPIN)
1474:          CALL READI(MLPHIDDEN)1460:          CALL READI(MLPHIDDEN)
1475:          CALL READI(MLPOUT)1461:          CALL READI(MLPOUT)
1476: !        CALL READI(MLPDATA)1462: !        CALL READI(MLPDATA)
1477: !        IF (NITEMS.GT.5) CALL READF(MLPLAMBDA)1463: !        IF (NITEMS.GT.5) CALL READF(MLPLAMBDA)
1478:          IF (WORD.EQ.'MLPB3') THEN1464:          IF (WORD.EQ.'MLPB3') THEN
1479:             MLPB3T=.TRUE.1465:             MLPB3T=.TRUE.
1651: C  in minpermdist. Needed for some twod examples.1637: C  in minpermdist. Needed for some twod examples.
1652: C1638: C
1653:       ELSE IF (WORD.EQ.'NOINVERSION') THEN1639:       ELSE IF (WORD.EQ.'NOINVERSION') THEN
1654:          NOINVERSION=.TRUE.1640:          NOINVERSION=.TRUE.
1655: C1641: C
1656: C  If NOPOINTS is specified then setup should not try to read the min.points or ts.points1642: C  If NOPOINTS is specified then setup should not try to read the min.points or ts.points
1657: C  files. Should be the default for post-DPS database kinetics analysis such as KMC.1643: C  files. Should be the default for post-DPS database kinetics analysis such as KMC.
1658: C1644: C
1659:       ELSE IF (WORD.EQ.'NOPOINTS') THEN1645:       ELSE IF (WORD.EQ.'NOPOINTS') THEN
1660:          NOPOINTS=.TRUE.1646:          NOPOINTS=.TRUE.
1661: C 
1662: C  If NOPOINTGROUP is specified then all point group orders are set to unity. 
1663: C  Needed for addressable potentials where we count the permutational isomers explicitly. 
1664: C 
1665:       ELSE IF (WORD.EQ.'NOPOINTGROUP') THEN 
1666:          NOPOINTGROUPT=.TRUE. 
1667: !1647: !
1668: ! Forbid overall translation and rotation in distance/alignment calculations.1648: ! Forbid overall translation and rotation in distance/alignment calculations.
1669: !1649: !
1670:       ELSE IF (WORD.EQ.'NOTRANSROT') THEN1650:       ELSE IF (WORD.EQ.'NOTRANSROT') THEN
1671:             NOTRANSROTT=.TRUE.1651:             NOTRANSROTT=.TRUE.
1672: 1652: 
1673:       ELSE IF (WORD.EQ.'NTIP') THEN1653:       ELSE IF (WORD.EQ.'NTIP') THEN
1674: 1654: 
1675:          CALL READI(TIPID)1655:          CALL READI(TIPID)
1676: 1656: 


r31527/setup.f 2016-11-20 14:30:14.174151716 +0000 r31526/setup.f 2016-11-20 14:30:15.442168638 +0000
1570: C1570: C
1571:       IF (ADDPATH) THEN1571:       IF (ADDPATH) THEN
1572:          CALL MYSYSTEM(STATUS,DEBUG,'cp ' // TRIM(ADJUSTL(PATHNAME)) // ' path.info')1572:          CALL MYSYSTEM(STATUS,DEBUG,'cp ' // TRIM(ADJUSTL(PATHNAME)) // ' path.info')
1573: !        IF (ADDTRIPLES) THEN1573: !        IF (ADDTRIPLES) THEN
1574:             CALL GETALLPATHS1574:             CALL GETALLPATHS
1575: !        ELSE1575: !        ELSE
1576: !           CALL GETNEWPATH(0,0)1576: !           CALL GETNEWPATH(0,0)
1577: !        ENDIF1577: !        ENDIF
1578:       ENDIF1578:       ENDIF
1579: C1579: C
1580: C IF NOPOINTGROUPT is true then set all point group orders to unity. This is designed for 
1581: C addressable potentials, where permutational isomers are enumerated explicitly. We can  
1582: C still lump enantiomers, since there will always be two of these for each stationary point, 
1583: C except for planar gemetries. 
1584: C 
1585:       DO J3=1,NMIN 
1586:          HORDERMIN(J3)=1 
1587:       ENDDO 
1588:       DO J3=1,NTS 
1589:          HORDERTS(J3)=1 
1590:       ENDDO 
1591:  
1592: C 
1593: C If USEPAIRST is true then read the sequence of minima from file USEPAIRSFILE1580: C If USEPAIRST is true then read the sequence of minima from file USEPAIRSFILE
1594: C USEPAIRSFILE must be formatted as a single Epath file1581: C USEPAIRSFILE must be formatted as a single Epath file
1595: C1582: C
1596:       IF (USEPAIRST) THEN1583:       IF (USEPAIRST) THEN
1597:          OPEN(UNIT=1,FILE=TRIM(ADJUSTL(USEPAIRSFILE)),STATUS='OLD')1584:          OPEN(UNIT=1,FILE=TRIM(ADJUSTL(USEPAIRSFILE)),STATUS='OLD')
1598:          NUSEPAIRS=01585:          NUSEPAIRS=0
1599:          DO1586:          DO
1600:             READ(1,*,END=111) NDUMMY, DUMMY, NDUMMY1587:             READ(1,*,END=111) NDUMMY, DUMMY, NDUMMY
1601:             NUSEPAIRS=NUSEPAIRS+11588:             NUSEPAIRS=NUSEPAIRS+1
1602:          ENDDO1589:          ENDDO


r31527/shannon.f90 2016-11-20 14:30:14.510156200 +0000 r31526/shannon.f90 2016-11-20 14:30:15.750172750 +0000
 77: !  we don;t need to change the totals. 77: !  we don;t need to change the totals.
 78: ! 78: !
 79:        79:       
 80: GLOBALMIN=HUGE(1.0D0) 80: GLOBALMIN=HUGE(1.0D0)
 81: DO J1=1,NMIN 81: DO J1=1,NMIN
 82:    IF (EMIN(J1).LT.GLOBALMIN) THEN 82:    IF (EMIN(J1).LT.GLOBALMIN) THEN
 83:       NGMIN=J1 83:       NGMIN=J1
 84:       GLOBALMIN=EMIN(J1) 84:       GLOBALMIN=EMIN(J1)
 85:    ENDIF 85:    ENDIF
 86: ENDDO 86: ENDDO
 87: PRINT '(A,I10,G20.10)','setup> Lowest minimum position and energy=',NGMIN,GLOBALMIN 87: PRINT '(A,G20.10)','setup> Lowest PE minimum=',GLOBALMIN
 88: PRINT '(A,G20.10)','setup> Shifting all potential energies relative to zero for the lowest minimum' 88: PRINT '(A,G20.10)','setup> Shifting all potential energies relative to zero for the lowest minimum'
 89: DO J1=1,NMIN 89: DO J1=1,NMIN
 90:    EMIN(J1)=EMIN(J1)-GLOBALMIN 90:    EMIN(J1)=EMIN(J1)-GLOBALMIN
 91: ENDDO 91: ENDDO
 92: GLOBALMIN=0.0D0 
 93:  92: 
 94: PRINT '(A,2F15.5,2(A,F20.10))','shannon> Calculating Shannon entropy for temperature range ', & 93: PRINT '(A,2F15.5,2(A,F20.10))','shannon> Calculating Shannon entropy for temperature range ', &
 95:   &       SHANNONTMIN,SHANNONTMAX,' increment ',SHANNONTINC,' energy increment for barriers=',EINC 94:   &       SHANNONTMIN,SHANNONTMAX,' increment ',SHANNONTINC,' energy increment for barriers=',EINC
 96: LUNIT=GETUNIT() 95: LUNIT=GETUNIT()
 97: OPEN(LUNIT,FILE='Shannon.out',STATUS='UNKNOWN') 96: OPEN(LUNIT,FILE='Shannon.out',STATUS='UNKNOWN')
 98: TEMPERATURE=SHANNONTMIN 97: TEMPERATURE=SHANNONTMIN
 99: 20 CONTINUE 98: 20 CONTINUE
100:  99: 
101: PFMEAN=-HUGE(1.0D0)100: PFMEAN=-HUGE(1.0D0)
102: PFNORM1=0.0D0 ! use this to calculate ratios without the pe factor101: PFNORM1=0.0D0 ! use this to calculate ratios without the pe factor
181: FRUSTRATION=0.0D0180: FRUSTRATION=0.0D0
182: PRENORM=0.0D0181: PRENORM=0.0D0
183: HIGHESTPEQ(1:NPEQ)=-1.0D0182: HIGHESTPEQ(1:NPEQ)=-1.0D0
184: PSUM=0.0D0183: PSUM=0.0D0
185: DO J1=1,NMIN184: DO J1=1,NMIN
186:    DUMMY=EXP(PFMIN(J1)-PFMIN(1)-LOG(PFNORM2))185:    DUMMY=EXP(PFMIN(J1)-PFMIN(1)-LOG(PFNORM2))
187:    DUMMY2=EXP(PFMIN(J1)-PFMIN(1)-LOG(PFNORM2))186:    DUMMY2=EXP(PFMIN(J1)-PFMIN(1)-LOG(PFNORM2))
188:    IF (DEBUG) WRITE(*,'(F20.10,I6,2G20.10)') EMIN(J1),HORDERMIN(J1),  &187:    IF (DEBUG) WRITE(*,'(F20.10,I6,2G20.10)') EMIN(J1),HORDERMIN(J1),  &
189:   &              EXP(-FVIBMIN(J1)/2.0D0-LOG(1.0D0*HORDERMIN(J1))-LOG(PFNORM1)+ FVIBMIN(1)/2.0D0 + LOG(1.0D0*HORDERMIN(1))),  &188:   &              EXP(-FVIBMIN(J1)/2.0D0-LOG(1.0D0*HORDERMIN(J1))-LOG(PFNORM1)+ FVIBMIN(1)/2.0D0 + LOG(1.0D0*HORDERMIN(1))),  &
190:   &              DUMMY189:   &              DUMMY
191: !  IF(BARRIER(J1).GT.0.0D0.OR.J1.EQ.NGMIN) SENTROPY=SENTROPY+DUMMY*LOG(DUMMY)190:    IF(BARRIER(J1).GT.0.0D0.OR.J1.EQ.NGMIN) SENTROPY=SENTROPY+DUMMY*LOG(DUMMY)
192:    SENTROPY=SENTROPY+DUMMY*LOG(DUMMY) 
193:    IF(BARRIER(J1).GT.0.0D0.OR.J1.EQ.NGMIN) PSUM=PSUM+DUMMY191:    IF(BARRIER(J1).GT.0.0D0.OR.J1.EQ.NGMIN) PSUM=PSUM+DUMMY
194:    PRINT '(A,I10,3G20.10)','J1,emina,globalmin,edifftol=',J1,EMIN(J1),GLOBALMIN,EDIFFTOL 
195:    IF (ABS(EMIN(J1)-GLOBALMIN).GT.EDIFFTOL) THEN192:    IF (ABS(EMIN(J1)-GLOBALMIN).GT.EDIFFTOL) THEN
196:       FRUSTRATION=FRUSTRATION+DUMMY*BARRIER(J1)193:       FRUSTRATION=FRUSTRATION+DUMMY*BARRIER(J1)
197: !     IF (BARRIER(J1).GT.0.0D0) PRENORM=PRENORM+DUMMY194:       IF (BARRIER(J1).GT.0.0D0) PRENORM=PRENORM+DUMMY
198:       PRENORM=PRENORM+DUMMY 
199:       PRINT '(A,I10,2G20.10)','J1,PRENORM,DUMMY=',J1,PRENORM,DUMMY 
200:    ENDIF195:    ENDIF
201: !196: !
202: ! Maintain ordered list of the NPEQ highest probability minima at this temperature197: ! Maintain ordered list of the NPEQ highest probability minima at this temperature
203: !198: !
204:    sortloop: DO J3=1,NPEQ ! sort to find the largest barriers to product199:    sortloop: DO J3=1,NPEQ ! sort to find the largest barriers to product
205:       IF (DUMMY.GT.HIGHESTPEQ(J3)) THEN200:       IF (DUMMY.GT.HIGHESTPEQ(J3)) THEN
206:          DO J4=NPEQ,J3+1,-1201:          DO J4=NPEQ,J3+1,-1
207:             NHIGHESTPEQ(J4)=NHIGHESTPEQ(J4-1)202:             NHIGHESTPEQ(J4)=NHIGHESTPEQ(J4-1)
208:             HIGHESTPEQ(J4)=HIGHESTPEQ(J4-1)203:             HIGHESTPEQ(J4)=HIGHESTPEQ(J4-1)
209:          ENDDO204:          ENDDO
273: ENDDO268: ENDDO
274: 269: 
275: PRINT '(A,G20.10)','shannon> PRENORM=',PRENORM270: PRINT '(A,G20.10)','shannon> PRENORM=',PRENORM
276: DUMMY2=DUMMY2/NDUMMY271: DUMMY2=DUMMY2/NDUMMY
277: RATESUM2=RATESUM2/NDUMMY272: RATESUM2=RATESUM2/NDUMMY
278: 975 CONTINUE ! jump here if the database is minima only, or we do not want to calculate rates273: 975 CONTINUE ! jump here if the database is minima only, or we do not want to calculate rates
279: WRITE(*,'(A,8G14.5)') 'PRENORM,FRUSTRATION,FRUSTRATION/PRENORM=',PRENORM,FRUSTRATION,FRUSTRATION/PRENORM274: WRITE(*,'(A,8G14.5)') 'PRENORM,FRUSTRATION,FRUSTRATION/PRENORM=',PRENORM,FRUSTRATION,FRUSTRATION/PRENORM
280: IF (SHANNONRT) THEN275: IF (SHANNONRT) THEN
281: WRITE(LUNIT,'(8G14.5)') TEMPERATURE,SENTROPY,FRUSTRATION,FRUSTRATION/PRENORM,DUMMY,DUMMY2,RATESUM1,RATESUM2276: WRITE(LUNIT,'(8G14.5)') TEMPERATURE,SENTROPY,FRUSTRATION,FRUSTRATION/PRENORM,DUMMY,DUMMY2,RATESUM1,RATESUM2
282: ELSE277: ELSE
283: WRITE(LUNIT,'(8G14.5)') TEMPERATURE,SENTROPY,FRUSTRATION,FRUSTRATION/PRENORM,1.0D0-PRENORM278: WRITE(LUNIT,'(8G14.5)') TEMPERATURE,SENTROPY,FRUSTRATION,FRUSTRATION/PRENORM
284: ENDIF279: ENDIF
285: PRINT *,'highest ',NPEQ,' Peq minima:'280: PRINT *,'highest ',NPEQ,' Peq minima:'
286: WRITE(*,'(2I6,G20.10)') (J2,NHIGHESTPEQ(J2),HIGHESTPEQ(J2),J2=1,NPEQ)281: WRITE(*,'(2I6,G20.10)') (J2,NHIGHESTPEQ(J2),HIGHESTPEQ(J2),J2=1,NPEQ)
287: 282: 
288: TEMPERATURE=TEMPERATURE+SHANNONTINC283: TEMPERATURE=TEMPERATURE+SHANNONTINC
289: 284: 
290: IF (TEMPERATURE.GT.SHANNONTMAX) THEN285: IF (TEMPERATURE.GT.SHANNONTMAX) THEN
291:    CLOSE(LUNIT)286:    CLOSE(LUNIT)
292:    DEALLOCATE(EMINSAVE)287:    DEALLOCATE(EMINSAVE)
293:    DEALLOCATE(PFMINSAVE)288:    DEALLOCATE(PFMINSAVE)


legend
Lines Added 
Lines changed
 Lines Removed

hdiff - version: 2.1.0