hdiff output

r28548/disconnectionDPS.f90 2017-01-21 10:41:35.471619679 +0000 r28547/disconnectionDPS.f90 2017-01-21 10:41:35.723630189 +0000
567:    INTEGER, ALLOCATABLE :: PLUS(:), MINUS(:), NDISTA(:)567:    INTEGER, ALLOCATABLE :: PLUS(:), MINUS(:), NDISTA(:)
568:    LOGICAL, ALLOCATABLE :: DEADTS(:)568:    LOGICAL, ALLOCATABLE :: DEADTS(:)
569:    INTEGER NDUMMY, NN 569:    INTEGER NDUMMY, NN 
570:    DOUBLE PRECISION VMIN, VMAX, DUMMY,R2570:    DOUBLE PRECISION VMIN, VMAX, DUMMY,R2
571:    DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: END_E, TSEN571:    DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: END_E, TSEN
572:    DOUBLE PRECISION, DIMENSION(:,:,:), ALLOCATABLE :: BRANCH_XY572:    DOUBLE PRECISION, DIMENSION(:,:,:), ALLOCATABLE :: BRANCH_XY
573:    INTEGER, ALLOCATABLE :: SAVEID(:)573:    INTEGER, ALLOCATABLE :: SAVEID(:)
574: 574: 
575:    INTEGER, ALLOCATABLE :: DJWBASIN(:), NMINGROUP(:), GROUPMAP(:)575:    INTEGER, ALLOCATABLE :: DJWBASIN(:), NMINGROUP(:), GROUPMAP(:)
576:    DOUBLE PRECISION ETHRESH576:    DOUBLE PRECISION ETHRESH
577:    INTEGER NBASIN, NCOUNT, J2, LUNIT, GETUNIT577:    INTEGER NBASIN, NCOUNT, J2
578:    WRITE (6, '(/, A)') 'Disconnectivity Graphs'578:    WRITE (6, '(/, A)') 'Disconnectivity Graphs'
579:    WRITE (6, '(A, /)') '----------------------'579:    WRITE (6, '(A, /)') '----------------------'
580: 580: 
581:    CALL READ_OPTIONS581:    CALL READ_OPTIONS
582: !582: !
583: ! Rescale order parameter values between 0 and 1 using the values of TRMAX and TRMIN.583: ! Rescale order parameter values between 0 and 1 using the values of TRMAX and TRMIN.
584: !584: !
585:    IF (TRVALRANGET) THEN585:    IF (TRVALRANGET) THEN
586:       PRINT '(A,2G20.10)','Scaling order parameter values between 0 and 1 for range ',TRMIN,TRMAX586:       PRINT '(A,2G20.10)','Scaling order parameter values between 0 and 1 for range ',TRMIN,TRMAX
587:       DJWSCALE=1.0D0/(TRMAX-TRMIN)587:       DJWSCALE=1.0D0/(TRMAX-TRMIN)
741:       ELSEIF (NCONN(J1).GT.NCONNMIN) THEN741:       ELSEIF (NCONN(J1).GT.NCONNMIN) THEN
742:          NLEFTMIN=NLEFTMIN+1742:          NLEFTMIN=NLEFTMIN+1
743:       ENDIF743:       ENDIF
744:    ENDDO744:    ENDDO
745:    IF (CONNECTMIN.GT.0) THEN745:    IF (CONNECTMIN.GT.0) THEN
746:       PRINT '(3(A,I8))','Steps to minimum ',CONNECTMIN,' converged in ',NCYCLE-1,' cycles; disconnected=',NUNCONA746:       PRINT '(3(A,I8))','Steps to minimum ',CONNECTMIN,' converged in ',NCYCLE-1,' cycles; disconnected=',NUNCONA
747:    ELSE747:    ELSE
748:       PRINT '(2(A,I8))','Steps to global minimum converged in ',NCYCLE-1,' cycles; disconnected=',NUNCONA748:       PRINT '(2(A,I8))','Steps to global minimum converged in ',NCYCLE-1,' cycles; disconnected=',NUNCONA
749:    ENDIF749:    ENDIF
750: !750: !
751: ! Dump positions of disconnected minima. 
752: ! 
753:    LUNIT=GETUNIT() 
754:    OPEN(LUNIT,FILE='disconnected',STATUS='UNKNOWN') 
755:    J2=0 
756:    DO J1=1,N_MIN 
757:       IF (NCONN(J1).LT.1) THEN 
758:          J2=J2+1 
759:          WRITE(LUNIT,'(I8,G20.10,I8)') J2,M(J1),J1 
760:       ENDIF 
761:    ENDDO 
762:    CLOSE(LUNIT) 
763: ! 
764: !  Flag transition states to underconnected minima as DEAD.751: !  Flag transition states to underconnected minima as DEAD.
765: !  NCONN only counts non-degenerate rearrangements as connections.752: !  NCONN only counts non-degenerate rearrangements as connections.
766: !753: !
767:    NLEFTTS=0754:    NLEFTTS=0
768:    DO J1=1,N_TS755:    DO J1=1,N_TS
769:       IF ((NCONN(PLUS(J1)).LE.NCONNMIN).OR.(NCONN(MINUS(J1)).LE.NCONNMIN)) DEADTS(J1)=.TRUE.756:       IF ((NCONN(PLUS(J1)).LE.NCONNMIN).OR.(NCONN(MINUS(J1)).LE.NCONNMIN)) DEADTS(J1)=.TRUE.
770:       IF (TS(J1)%E.GT.TSTHRESH) DEADTS(J1)=.TRUE.757:       IF (TS(J1)%E.GT.TSTHRESH) DEADTS(J1)=.TRUE.
771:       IF ((TS(J1)%E-M(TS(J1)%MIN1).GT.TSBARTHRESH).AND.(TS(J1)%E-M(TS(J1)%MIN2).GT.TSBARTHRESH)) DEADTS(J1)=.TRUE.758:       IF ((TS(J1)%E-M(TS(J1)%MIN1).GT.TSBARTHRESH).AND.(TS(J1)%E-M(TS(J1)%MIN2).GT.TSBARTHRESH)) DEADTS(J1)=.TRUE.
772:       IF (.NOT.DEADTS(J1)) NLEFTTS=NLEFTTS+1759:       IF (.NOT.DEADTS(J1)) NLEFTTS=NLEFTTS+1
773:    ENDDO760:    ENDDO
2445:          BIG = .FALSE.2432:          BIG = .FALSE.
2446:       ELSE2433:       ELSE
2447:          POS = BOTTOM + OFFSET2434:          POS = BOTTOM + OFFSET
2448:          BIG = .TRUE.2435:          BIG = .TRUE.
2449:       END IF2436:       END IF
2450:       !MIXLIST(I) = COPYLIST(POS)2437:       !MIXLIST(I) = COPYLIST(POS)
2451:       MIXLIST(pos) = COPYLIST(I)2438:       MIXLIST(pos) = COPYLIST(I)
2452:    END DO2439:    END DO
2453: 2440: 
2454: END SUBROUTINE MIX_ALTERNATE2441: END SUBROUTINE MIX_ALTERNATE
2455:       INTEGER FUNCTION GETUNIT() 
2456:       IMPLICIT NONE 
2457:       LOGICAL :: INUSE 
2458: ! 
2459: ! start checking for available units > 10, to avoid system default units 
2460: ! 
2461:       INTEGER :: UNITNUM 
2462:  
2463:       INUSE=.TRUE. 
2464:       UNITNUM=11 
2465:  
2466:       DO WHILE (INUSE) 
2467:          INQUIRE(UNIT=UNITNUM,OPENED=INUSE) 
2468:          IF (.NOT.INUSE) THEN 
2469:             GETUNIT=UNITNUM 
2470:          ELSE 
2471:             UNITNUM=UNITNUM+1 
2472:          ENDIF 
2473:       ENDDO 
2474:       END FUNCTION GETUNIT 
2475: !................................................................................!2442: !................................................................................!
2476: !INDEXX(INT N, DP(N) ARR, INT(N) INDX)2443: !INDEXX(INT N, DP(N) ARR, INT(N) INDX)
2477: ! js850> On exit INDX will be the indices 1:N sorted according to the weights ARR2444: ! js850> On exit INDX will be the indices 1:N sorted according to the weights ARR
2478:       SUBROUTINE INDEXX(N,ARR,INDX)2445:       SUBROUTINE INDEXX(N,ARR,INDX)
2479:       INTEGER, INTENT(IN) :: N2446:       INTEGER, INTENT(IN) :: N
2480:       DOUBLE PRECISION, INTENT(IN) :: ARR(N)2447:       DOUBLE PRECISION, INTENT(IN) :: ARR(N)
2481:       INTEGER, INTENT(OUT) :: INDX(N)2448:       INTEGER, INTENT(OUT) :: INDX(N)
2482:       INTEGER M,NSTACK2449:       INTEGER M,NSTACK
2483:       PARAMETER (M=7,NSTACK=50)2450:       PARAMETER (M=7,NSTACK=50)
2484:       INTEGER I,INDXT,IR,ITEMP,J,JSTACK,K,L,ISTACK(NSTACK)2451:       INTEGER I,INDXT,IR,ITEMP,J,JSTACK,K,L,ISTACK(NSTACK)


legend
Lines Added 
Lines changed
 Lines Removed

hdiff - version: 2.1.0