hdiff output

r22722/disconnectionDPS.f90 2017-01-21 10:41:45.092005304 +0000 r22721/disconnectionDPS.f90 2017-01-21 10:41:45.616025779 +0000
152: ! Label n different sections of the graph in colour as specified by the 152: ! Label n different sections of the graph in colour as specified by the 
153: ! minima in each file, one file for each section.  153: ! minima in each file, one file for each section.  
154: ! Each file is a list of numbers of minima, 154: ! Each file is a list of numbers of minima, 
155: ! one per line as for PICK. max is the total number of minima, not the number 155: ! one per line as for PICK. max is the total number of minima, not the number 
156: ! in the colour files. 156: ! in the colour files. 
157: ! currently used for array allocation.157: ! currently used for array allocation.
158: ! Colours are chosen automatically to spread over a rainbow spectrum  158: ! Colours are chosen automatically to spread over a rainbow spectrum  
159: ! (from red to purple) in the order the files are specified but colours can 159: ! (from red to purple) in the order the files are specified but colours can 
160: ! be specified individually at both COLOURMARKER in this file. - vkd 160: ! be specified individually at both COLOURMARKER in this file. - vkd 
161: !161: !
162: ! TRVAL <max> <filename> {<cscale> <weightlower> <cshift>}162: ! TRVAL <max> <filename>
163: ! Colour the graph according to an order parameter value for each 163: ! Colour the graph according to an order parameter value for each 
164: ! minimum. The order parameters are read in from the named file, which should contain 164: ! minimum. The order parameters are read in from the named file, which should contain 
165: ! one line per minimum.  The expected range of the order parameters is [0,1] inclusive.165: ! one line per minimum.  The expected range of the order parameters is [0,1] inclusive.
166: ! max is the total number of minima.166: ! max is the total number of minima.
167: ! Colours are chosen automatically to be evenly distributed with order parameter value 167: ! Colours are chosen automatically to be evenly distributed with order parameter value 
168: ! along the edges of the RBG colour cube: red -> yellow -> green -> cyan ->168: ! along the edges of the RBG colour cube: red -> yellow -> green -> cyan -> blue
169: ! blue. 
170: ! The optional arguments <cscale> and <cshift> scale and shift order parameters that do 
171: ! not already lie in the range [0,1]. <cscale>=1/(max-min) multiplies the order parameters to 
172: ! give values between n and n+1 and if n is not zero, it should be combined with <cshift>=-n.   
173: ! The optional argument <weightlower> is true or false, and when true, shifts the colouring  
174: ! emphasis of the main branch to colours corresponding to lower values (i.e. towards red),  
175: ! rather than the default emphasising higher values (i.e. towards blue). 
176: !169: !
177: ! TRVALRANGE <trmin> <trmax>170: ! TRVALRANGE TRMIN TRMAX
178: ! Specify maximum and minimum values for order parameters that are not scaled to the171: ! Specify maximum and minimum values for order parameters that are not scaled to the
179: ! range [0,1].172: ! range [0,1].
180: !173: !
181: ! TRVALSCALE <x> <y>174: ! TRVALSCALE <x> <y>
182: ! Currently only for use with TRVAL.175: ! Currently only for use with TRVAL.
183: ! Creates a colour scalebar displaying the order parameter values for each colour.176: ! Creates a colour scalebar displaying the order parameter values for each colour.
184: ! <x> and <y> (in postscript units) are optional and overide the default values. - vkd177: ! <x> and <y> (in postscript units) are optional and overide the default values. - vkd
185: !178: !
186: ! TSTHRESH    <threshold> ignore transition states above this threshold.179: ! TSTHRESH    <threshold> ignore transition states above this threshold.
187: ! MAXTSENERGY <threshold> ignore transition states above this threshold.180: ! MAXTSENERGY <threshold> ignore transition states above this threshold.
447:    INTEGER :: NMINTR=0440:    INTEGER :: NMINTR=0
448:    INTEGER :: CONNECTMIN=0441:    INTEGER :: CONNECTMIN=0
449:    INTEGER :: MINRANGE=10000442:    INTEGER :: MINRANGE=10000
450:    INTEGER, ALLOCATABLE :: MINIDS(:)443:    INTEGER, ALLOCATABLE :: MINIDS(:)
451:    INTEGER, ALLOCATABLE :: MINTRS(:)444:    INTEGER, ALLOCATABLE :: MINTRS(:)
452:    DOUBLE PRECISION, ALLOCATABLE :: DPMINTRS(:)445:    DOUBLE PRECISION, ALLOCATABLE :: DPMINTRS(:)
453:    DOUBLE PRECISION :: DELTA_E, E_HIGH446:    DOUBLE PRECISION :: DELTA_E, E_HIGH
454:    DOUBLE PRECISION :: TSTHRESH=1.0D100447:    DOUBLE PRECISION :: TSTHRESH=1.0D100
455:    DOUBLE PRECISION :: TSBARTHRESH=1.0D100448:    DOUBLE PRECISION :: TSBARTHRESH=1.0D100
456:    DOUBLE PRECISION :: CSCALE=1.0D0 449:    DOUBLE PRECISION :: CSCALE=1.0D0 
457:    DOUBLE PRECISION :: CSHIFT=0.0D0  
458:    DOUBLE PRECISION :: DJWSCALE=1.0D0 450:    DOUBLE PRECISION :: DJWSCALE=1.0D0 
459:    DOUBLE PRECISION :: TRMIN=0.0D0451:    DOUBLE PRECISION :: TRMIN=0.0D0
460:    DOUBLE PRECISION :: TRMAX=1.0D0452:    DOUBLE PRECISION :: TRMAX=1.0D0
461:    DOUBLE PRECISION :: BENERGY=1.0D100 453:    DOUBLE PRECISION :: BENERGY=1.0D100 
462:    DOUBLE PRECISION :: TRSCALEX=90.0454:    DOUBLE PRECISION :: TRSCALEX=90.0
463:    DOUBLE PRECISION :: TRSCALEY=50.0455:    DOUBLE PRECISION :: TRSCALEY=50.0
464:    CHARACTER(LEN=120) :: FILE_MIN, FILE_PICK, FILE_TS, FILE_WEIGHTS, &    456:    CHARACTER(LEN=120) :: FILE_MIN, FILE_PICK, FILE_TS, FILE_WEIGHTS, &    
465:       FILE_TRACE457:       FILE_TRACE
466:    CHARACTER(LEN=10) :: LAB_FMT458:    CHARACTER(LEN=10) :: LAB_FMT
467:    LOGICAL :: BARRIERS, CENTRE_GMIN, DUMP_NUMBERS, DUMP_SIZES, EXCLUDEALL, &459:    LOGICAL :: BARRIERS, CENTRE_GMIN, DUMP_NUMBERS, DUMP_SIZES, EXCLUDEALL, &
1331:                  IF (MARKNODE(I,K) ==2)  WRITE (20, '(A)') '0 1 0 setrgbcolor'1323:                  IF (MARKNODE(I,K) ==2)  WRITE (20, '(A)') '0 1 0 setrgbcolor'
1332:                  IF (MARKNODE(I,K) ==3)  WRITE (20, '(A)') '0 0 1 setrgbcolor'1324:                  IF (MARKNODE(I,K) ==3)  WRITE (20, '(A)') '0 0 1 setrgbcolor'
1333:                  IF (MARKNODE(I,K) ==4)  WRITE (20, '(A)') '1 0 1 setrgbcolor'  ! magenta1325:                  IF (MARKNODE(I,K) ==4)  WRITE (20, '(A)') '1 0 1 setrgbcolor'  ! magenta
1334:                  WRITE (20, '(2F7.2, A, 2F7.2, A)') x1, y1, ' mt ', x3, y3, ' ls'1326:                  WRITE (20, '(2F7.2, A, 2F7.2, A)') x1, y1, ' mt ', x3, y3, ' ls'
1335:                  WRITE (20, '(A)') '0 0 0 setrgbcolor'1327:                  WRITE (20, '(A)') '0 0 0 setrgbcolor'
1336:                ELSE1328:                ELSE
1337:                  WRITE (20, '(2F7.2, A, 2F7.2, A)') x1, y1, ' mt ', x3, y3, ' ls'1329:                  WRITE (20, '(2F7.2, A, 2F7.2, A)') x1, y1, ' mt ', x3, y3, ' ls'
1338:                ENDIF1330:                ENDIF
1339:             ELSE IF (TRVALT) THEN ! otherwise DPMARKNODE is not allocated1331:             ELSE IF (TRVALT) THEN ! otherwise DPMARKNODE is not allocated
1340:                IF (DPMARKNODE(I,K).GE.0.0D0) THEN1332:                IF (DPMARKNODE(I,K).GE.0.0D0) THEN
1341:                   R2=(CSHIFT+DPMARKNODE(I,K)*CSCALE)*3.0D01333:                   R2=DPMARKNODE(I,K)*3.0D0*CSCALE
1342:                   IF (R2.GT.3.0D0) THEN1334:                   IF (R2.GT.3.0D0) THEN
1343:                      WRITE(6,*) 'WARNING: value of DPMARKNODE is ',DPMARKNODE(I,K),' for ',i,k1335:                      WRITE(6,*) 'WARNING: value of DPMARKNODE is ',DPMARKNODE(I,K),' for ',i,k
1344:                      R2=3.0D01336:                      R2=3.0D0
1345:                   END IF1337:                   END IF
1346:                    IF (R2.LT.1.0d0.AND.R2.GE.0.0d0)  WRITE (20, '(2F7.4,A)') (2.67d0-R2)/2.67D0 ,R2/2.0D0, ' 0  setrgbcolor'1338:                    IF (R2.LT.1.0d0.AND.R2.GE.0.0d0)  WRITE (20, '(2F7.4,A)') (2.67d0-R2)/2.67D0 ,R2/2.0D0, ' 0  setrgbcolor'
1347:                    IF (R2.LT.1.5d0.AND.R2.GE.1.0d0)  WRITE (20, '(F7.4,A)')  0.625D0-(R2-1.0D0)*1.25D0, ' 0.50  0  setrgbcolor' 1339:                    IF (R2.LT.1.5d0.AND.R2.GE.1.0d0)  WRITE (20, '(F7.4,A)')  0.625D0-(R2-1.0D0)*1.25D0, ' 0.50  0  setrgbcolor' 
1348:                    IF (R2.LT.2.0d0.AND.R2.GE.1.5d0)  WRITE (20, '(A,F7.4,A)') '0 0.5 ',0.625D0+(R2-2.0d0)*1.25D0,'  setrgbcolor'1340:                    IF (R2.LT.2.0d0.AND.R2.GE.1.5d0)  WRITE (20, '(A,F7.4,A)') '0 0.5 ',0.625D0+(R2-2.0d0)*1.25D0,'  setrgbcolor'
1349:                    IF (R2.LE.3.0d0.AND.R2.GE.2.0d0)  &1341:                    IF (R2.LE.3.0d0.AND.R2.GE.2.0d0)  &
1350:   &         WRITE (20, '(A,2F7.4,A)') '0 ',(3.0d0-R2)/2.0D0, ((2.0D0-R2)-1.67d0)/(-2.67D0), '  setrgbcolor'            1342:   &         WRITE (20, '(A,2F7.4,A)') '0 ',(3.0d0-R2)/2.0D0, ((2.0D0-R2)-1.67d0)/(-2.67D0), '  setrgbcolor'            
1351: !                  IF (R2.LE.1.AND.R2.GE.0)  WRITE (20, '(A,F6.4,A)') '1 0 ',(1-R2)/2,'  setrgbcolor'1343: !                  IF (R2.LE.1.AND.R2.GE.0)  WRITE (20, '(A,F6.4,A)') '1 0 ',(1-R2)/2,'  setrgbcolor'
1395: !                 IF (MARKNODE(I,K) ==8)  WRITE (20, '(A)') '0 0.5 1 setrgbcolor'1387: !                 IF (MARKNODE(I,K) ==8)  WRITE (20, '(A)') '0 0.5 1 setrgbcolor'
1396: !                 IF (MARKNODE(I,K) ==9)  WRITE (20, '(A)') '0 0 1 setrgbcolor'1388: !                 IF (MARKNODE(I,K) ==9)  WRITE (20, '(A)') '0 0 1 setrgbcolor'
1397: !                 IF (MARKNODE(I,K) ==10)  WRITE (20, '(A)') '0.5 0 1 setrgbcolor'1389: !                 IF (MARKNODE(I,K) ==10)  WRITE (20, '(A)') '0.5 0 1 setrgbcolor'
1398:                   WRITE (20, '(2F7.2, A, 2F7.2, A)') x1, y1, ' mt ', x2, y2, ' ls'1390:                   WRITE (20, '(2F7.2, A, 2F7.2, A)') x1, y1, ' mt ', x2, y2, ' ls'
1399:                   WRITE (20, '(A)') '0 0 0 setrgbcolor'1391:                   WRITE (20, '(A)') '0 0 0 setrgbcolor'
1400:                ELSE1392:                ELSE
1401:                   WRITE (20, '(2F7.2, A, 2F7.2, A)') x1, y1, ' mt ', x2, y2, ' ls'1393:                   WRITE (20, '(2F7.2, A, 2F7.2, A)') x1, y1, ' mt ', x2, y2, ' ls'
1402:                ENDIF1394:                ENDIF
1403:             ELSE IF (TRVALT) THEN1395:             ELSE IF (TRVALT) THEN
1404:                IF (DPMARKNODE(I,K).GE.0.0D0) THEN1396:                IF (DPMARKNODE(I,K).GE.0.0D0) THEN
1405:                    R2=(CSHIFT+DPMARKNODE(I,K)*CSCALE)*3.0D01397:                    R2=DPMARKNODE(I,K)*3.0D0*CSCALE
1406:                    IF (R2.GT.3.0D0) THEN1398:                    IF (R2.GT.3.0D0) THEN
1407:                       WRITE(6,*) 'WARNING: value of DPMARKNODE is ',DPMARKNODE(I,K),' for ',i,k1399:                       WRITE(6,*) 'WARNING: value of DPMARKNODE is ',DPMARKNODE(I,K),' for ',i,k
1408:                       R2=3.0D01400:                       R2=3.0D0
1409:                    END IF1401:                    END IF
1410:                    IF (R2.LT.1.0d0.AND.R2.GE.0.0d0)  WRITE (20, '(2F7.4,A)') (2.67d0-R2)/2.67D0 ,R2/2.0D0, ' 0  setrgbcolor'1402:                    IF (R2.LT.1.0d0.AND.R2.GE.0.0d0)  WRITE (20, '(2F7.4,A)') (2.67d0-R2)/2.67D0 ,R2/2.0D0, ' 0  setrgbcolor'
1411:                    IF (R2.LT.1.5d0.AND.R2.GE.1.0d0)  WRITE (20, '(F7.4,A)')  0.625D0-(R2-1.0D0)*1.25D0, ' 0.50  0  setrgbcolor' 1403:                    IF (R2.LT.1.5d0.AND.R2.GE.1.0d0)  WRITE (20, '(F7.4,A)')  0.625D0-(R2-1.0D0)*1.25D0, ' 0.50  0  setrgbcolor' 
1412:                    IF (R2.LT.2.0d0.AND.R2.GE.1.5d0)  WRITE (20, '(A,F7.4,A)') '0 0.5 ',0.625D0+(R2-2.0d0)*1.25D0,'  setrgbcolor'1404:                    IF (R2.LT.2.0d0.AND.R2.GE.1.5d0)  WRITE (20, '(A,F7.4,A)') '0 0.5 ',0.625D0+(R2-2.0d0)*1.25D0,'  setrgbcolor'
1413:                    IF (R2.LE.3.0d0.AND.R2.GE.2.0d0)  &1405:                    IF (R2.LE.3.0d0.AND.R2.GE.2.0d0)  &
1414:   &                   WRITE (20, '(A,2F7.4,A)') &1406:   &                   WRITE (20, '(A,2F7.4,A)') &
1415:   &                   '0 ',(3.0d0-R2)/2.0D0, ((2.0D0-R2)-1.67d0)/(-2.67D0), '  setrgbcolor'1407:   &                   '0 ',(3.0d0-R2)/2.0D0, ((2.0D0-R2)-1.67d0)/(-2.67D0), '  setrgbcolor'
1592:      & '0.7 swidth 2.25 swidth moveto', &1584:      & '0.7 swidth 2.25 swidth moveto', &
1593:      & '1.0 swidth 2.25 swidth lineto', &1585:      & '1.0 swidth 2.25 swidth lineto', &
1594:      & 'stroke', &1586:      & 'stroke', &
1595:      & '%Numbers for scale', &1587:      & '%Numbers for scale', &
1596:      & '/Times-Roman findfont 12 scalefont setfont', &1588:      & '/Times-Roman findfont 12 scalefont setfont', &
1597:      & '0.0 swidth 3.40 swidth moveto', &1589:      & '0.0 swidth 3.40 swidth moveto', &
1598:      & '(Order Parameter) show', &1590:      & '(Order Parameter) show', &
1599:      & '/Times-Roman findfont 10 scalefont setfont'1591:      & '/Times-Roman findfont 10 scalefont setfont'
1600:       WRITE (20, '(4((A, /), (A2, F7.2, A, /)), (A, /), (A2, F7.2, A)) ') &1592:       WRITE (20, '(4((A, /), (A2, F7.2, A, /)), (A, /), (A2, F7.2, A)) ') &
1601:      & '1.2 swidth -0.04 swidth moveto', &1593:      & '1.2 swidth -0.04 swidth moveto', &
1602:      & '( ', TRMIN-CSHIFT, ' ) show', &1594:      & '( ', TRMIN, ' ) show', &
1603:      & '1.2 swidth 0.71 swidth moveto', &1595:      & '1.2 swidth 0.71 swidth moveto', &
1604:      & '( ', TRMIN+(0.25-CSHIFT)/(CSCALE*DJWSCALE), ' ) show', &1596:      & '( ', TRMIN+0.25/(CSCALE*DJWSCALE), ' ) show', &
1605:      & '1.2 swidth 1.46 swidth moveto', &1597:      & '1.2 swidth 1.46 swidth moveto', &
1606:      & '( ', TRMIN+(0.50-CSHIFT)/(CSCALE*DJWSCALE), ' ) show', &1598:      & '( ', TRMIN+0.50/(CSCALE*DJWSCALE), ' ) show', &
1607:      & '1.2 swidth 2.21 swidth moveto', &1599:      & '1.2 swidth 2.21 swidth moveto', &
1608:      & '( ', TRMIN+(0.75-CSHIFT)/(CSCALE*DJWSCALE), ' ) show', &1600:      & '( ', TRMIN+0.75/(CSCALE*DJWSCALE), ' ) show', &
1609:      & '1.2 swidth 2.96 swidth moveto', &1601:      & '1.2 swidth 2.96 swidth moveto', &
1610:      & '( ', TRMIN+(1.00-CSHIFT)/(CSCALE*DJWSCALE), ' ) show'1602:      & '( ', TRMIN+1.00/(CSCALE*DJWSCALE), ' ) show'
1611:    END IF1603:    END IF
1612: 1604: 
1613:    WRITE (20, '(/, A)') 'showpage'1605:    WRITE (20, '(/, A)') 'showpage'
1614:    CLOSE (20)1606:    CLOSE (20)
1615:    WRITE (6, '(A, /)') 'Done.'1607:    WRITE (6, '(A, /)') 'Done.'
1616:    DEALLOCATE(DJWBASIN,TSEN)1608:    DEALLOCATE(DJWBASIN,TSEN)
1617: 1609: 
1618: !   CALL SYSTEM('ps2pdf tree.ps tree.pdf')1610: !   CALL SYSTEM('ps2pdf tree.ps tree.pdf')
1619: 1611: 
1620: END PROGRAM DISCONNECTION1612: END PROGRAM DISCONNECTION
1747:          NMINTR=NDUMMY 1739:          NMINTR=NDUMMY 
1748:       CASE ('TRVAL')1740:       CASE ('TRVAL')
1749:          TRVALT = .TRUE.1741:          TRVALT = .TRUE.
1750:          CALL GET_INTEGER(MINRANGE)1742:          CALL GET_INTEGER(MINRANGE)
1751:          WRITE (6, '(A)') 'Minima will be traced in colour according to values of an order parameter'1743:          WRITE (6, '(A)') 'Minima will be traced in colour according to values of an order parameter'
1752:          ALLOCATE(DPMINTRS(1:MINRANGE))1744:          ALLOCATE(DPMINTRS(1:MINRANGE))
1753:          DPMINTRS=-1.0D0 ! new initialization, because 0.0D0 is a legitimate value 1745:          DPMINTRS=-1.0D0 ! new initialization, because 0.0D0 is a legitimate value 
1754:          CALL GET_STRING(FILE_TRACE)1746:          CALL GET_STRING(FILE_TRACE)
1755:          CALL GET_DP(CSCALE)1747:          CALL GET_DP(CSCALE)
1756:          CALL GET_LOGICAL(WEIGHTLOWER)1748:          CALL GET_LOGICAL(WEIGHTLOWER)
1757:          CALL GET_DP(CSHIFT) 
1758:          OPEN (UNIT=22, FILE=TRIM(FILE_TRACE), STATUS='OLD', IOSTAT=ERR)1749:          OPEN (UNIT=22, FILE=TRIM(FILE_TRACE), STATUS='OLD', IOSTAT=ERR)
1759:          IF (ERR /= 0) THEN1750:          IF (ERR /= 0) THEN
1760:             WRITE (6, '(/,2A,/)') 'ERROR: Could not open ', TRIM(file_trace)1751:             WRITE (6, '(/,2A,/)') 'ERROR: Could not open ', TRIM(file_trace)
1761:             STOP1752:             STOP
1762:          END IF1753:          END IF
1763:          DO I4=1, MINRANGE1754:          DO I4=1, MINRANGE
1764:             READ(22, *, IOSTAT=ERR) DPMINTRS(I4)1755:             READ(22, *, IOSTAT=ERR) DPMINTRS(I4)
1765:             IF (ERR /= 0) EXIT1756:             IF (ERR /= 0) EXIT
1766:          ENDDO1757:          ENDDO
1767:          CLOSE(22)1758:          CLOSE(22)


legend
Lines Added 
Lines changed
 Lines Removed

hdiff - version: 2.1.0