hdiff output

r33376/align_decide.f90 2017-10-05 11:30:21.331277595 +0100 r33375/align_decide.f90 2017-10-05 11:30:21.895285028 +0100
  1: SUBROUTINE ALIGN_DECIDE(COORDSB,COORDSA,NATOMS,DEBUG,NBOXLX,NBOXLY,NBOXLZ,BULKT,TWOD,DISTANCE,DIST2,RIGID,RMATBEST)  1: SUBROUTINE ALIGN_DECIDE(COORDSB,COORDSA,NATOMS,DEBUG,NBOXLX,NBOXLY,NBOXLZ,BULKT,TWOD,DISTANCE,DIST2,RIGID,RMATBEST)
  2:   2: 
  3: USE COMMONS, ONLY: FASTOVERLAPT, BNB_ALIGNT, &    ! Logicals to determine which alignment routine to use  3: USE COMMONS, ONLY: FASTOVERLAPT, BNB_ALIGNT, &    ! Logicals to determine which alignment routine to use
  4:                    KERNELWIDTH,NDISPLACEMENTS, &  ! Parameters for the Bulk FASTOVERLAP routine  4:                    KERNELWIDTH,NDISPLACEMENTS, &  ! Parameters for the Bulk FASTOVERLAP routine
  5:                    MAX_ANGMOM, NROTATIONS, &      ! Parameters for the Cluster FASTOVERLAP routine  5:                    MAX_ANGMOM, NROTATIONS, &      ! Parameters for the Cluster FASTOVERLAP routine
  6:                    BNB_NSTEPS, &                  ! Parameter for the BNB align routine      6:                    BNB_NSTEPS, &                  ! Parameter for the BNB align routine    
  7:                    MYUNIT, BOXLX, BOXLY, BOXLZ, & ! Misc variables from the main program  7:                    MYUNIT, BOXLX, BOXLY, BOXLZ, & ! Misc variables from the main program
  8:                    NSETS, PERMOPT, PERMDIST, LOCALPERMDIST, PERMINVOPT, NOINVERSION  8:                    NSETS, PERMOPT, PERMINVOPT, NOINVERSION
  9:   9: 
 10: USE GENRIGID, ONLY: RIGIDINIT, ATOMRIGIDCOORDT    ! Keywords that need checking for compatibility 10: USE GENRIGID, ONLY: RIGIDINIT, ATOMRIGIDCOORDT    ! Keywords that need checking for compatibility
 11: USE BULKFASTOVERLAP, ONLY: FOM_ALIGN_BULK 11: USE BULKFASTOVERLAP, ONLY: FOM_ALIGN_BULK
 12: USE CLUSTERFASTOVERLAP, ONLY: FOM_ALIGN_CLUSTERS, ALIGNHARM 12: USE CLUSTERFASTOVERLAP, ONLY: FOM_ALIGN_CLUSTERS, ALIGNHARM
 13: USE GOPERMDIST, ONLY: BNB_ALIGN 13: USE GOPERMDIST, ONLY: BNB_ALIGN
 14:  14: 
 15: IMPLICIT NONE 15: IMPLICIT NONE
 16:  16: 
 17: INTEGER NATOMS 17: INTEGER NATOMS
 18: DOUBLE PRECISION DIST2, COORDSA(3*NATOMS), COORDSB(3*NATOMS), DISTANCE, RMATBEST(3,3) 18: DOUBLE PRECISION DIST2, COORDSA(3*NATOMS), COORDSB(3*NATOMS), DISTANCE, RMATBEST(3,3)
 72:  72: 
 73:       IF(DEBUG) WRITE(MYUNIT,*) "align_decide> using BNB align" 73:       IF(DEBUG) WRITE(MYUNIT,*) "align_decide> using BNB align"
 74:       CALL BNB_ALIGN(COORDSB,COORDSA,NATOMS,DEBUG,BOXLX,BOXLY,BOXLZ,BULKT,DISTANCE,DIST2,RMATBEST,BNB_NSTEPS) 74:       CALL BNB_ALIGN(COORDSB,COORDSA,NATOMS,DEBUG,BOXLX,BOXLY,BOXLZ,BULKT,DISTANCE,DIST2,RMATBEST,BNB_NSTEPS)
 75:  75: 
 76:    ELSE 76:    ELSE
 77:       IF(DEBUG) WRITE(MYUNIT,*) "align_decide> using original MINPERMDIST routine" 77:       IF(DEBUG) WRITE(MYUNIT,*) "align_decide> using original MINPERMDIST routine"
 78:       CALL MINPERMDIST(COORDSB,COORDSA,NATOMS,DEBUG,BOXLX,BOXLY,BOXLZ,BULKT,TWOD,DISTANCE,DIST2,RIGID,RMATBEST) 78:       CALL MINPERMDIST(COORDSB,COORDSA,NATOMS,DEBUG,BOXLX,BOXLY,BOXLZ,BULKT,TWOD,DISTANCE,DIST2,RIGID,RMATBEST)
 79:  79: 
 80:    ENDIF 80:    ENDIF
 81:  81: 
 82: ELSE  ! i.e. LOCALPERMDIST or NOT PERMDIST. 82: ELSE
 83:  83: 
 84:    IF (DEBUG .AND. (FASTOVERLAPT .OR. BNB_ALIGNT)) THEN 84:    IF (DEBUG .AND. (FASTOVERLAPT .OR. BNB_ALIGNT)) THEN
 85:       WRITE(MYUNIT,*) "Warning: Specified new ALIGN routines without PERMDIST or with LOCALPERMDIST. Using MINPERMDIST instead." 85:       WRITE(MYUNIT,*) "Warning: Specified new ALIGN routines without PERMDIST or with LOCALPERMDIST. Using MINPERMDIST instead."
 86:    ENDIF 86:    ENDIF
 87:    IF(DEBUG) WRITE(MYUNIT,'(A)') "align_decide> using original MINPERMDIST routine" 87:    IF(DEBUG) WRITE(MYUNIT,'(A)') "align_decide> using original MINPERMDIST routine"
 88:    CALL MINPERMDIST(COORDSB,COORDSA,NATOMS,DEBUG,BOXLX,BOXLY,BOXLZ,BULKT,TWOD,DISTANCE,DIST2,RIGID,RMATBEST) 88:    CALL MINPERMDIST(COORDSB,COORDSA,NATOMS,DEBUG,BOXLX,BOXLY,BOXLZ,BULKT,TWOD,DISTANCE,DIST2,RIGID,RMATBEST)
 89: ENDIF 
 90:  89: 
 91: IF (FASTOVERLAPT .OR. BNB_ALIGNT) THEN 90: IF (FASTOVERLAPT .OR. BNB_ALIGNT) THEN
 92:    PERMOPT = SAVEPERMOPT; PERMINVOPT = SAVEPERMINVOPT 91:    PERMOPT = SAVEPERMOPT; PERMINVOPT = SAVEPERMINVOPT
 93: ENDIF 92: ENDIF
 94:  93: 
 95: END SUBROUTINE 94: END SUBROUTINE


r33376/alignutils.f90 2017-10-05 11:30:21.619281385 +0100 r33375/alignutils.f90 2017-10-05 11:30:22.179288755 +0100
 64: !    PAIRDIST(C1, C2) 64: !    PAIRDIST(C1, C2)
 65: !        calculates the distance between points C1 and C2 65: !        calculates the distance between points C1 and C2
 66: !        includes periodic boundary conditions 66: !        includes periodic boundary conditions
 67:  67: 
 68:  68: 
 69: ! INCLUDE "commons.f90" 69: ! INCLUDE "commons.f90"
 70:  70: 
 71: MODULE ALIGNUTILS 71: MODULE ALIGNUTILS
 72:  72: 
 73: USE COMMONS, ONLY : PERMGROUP, NPERMSIZE, NPERMGROUP, BESTPERM, MYUNIT, & 73: USE COMMONS, ONLY : PERMGROUP, NPERMSIZE, NPERMGROUP, BESTPERM, MYUNIT, &
 74:  & NSETS, SETS, NOINVERSION, BOXLX, BOXLY, BOXLZ, OHCELLT, TWOD, PERMINVOPT!, PERMDIST, PERMOPT 74:  & NSETS, SETS, NOINVERSION, BOXLX, BOXLY, BOXLZ, OHCELLT, TWOD!, PERMDIST, PERMOPT
 75: USE PREC, ONLY: INT64, REAL64 75: USE PREC, ONLY: INT64, REAL64
 76:  76: 
 77: IMPLICIT NONE 77: IMPLICIT NONE
 78:  78: 
 79: INTEGER, SAVE :: NATOMS, NLAP, NPERM, PATOMS, NTRIES, INFO 79: INTEGER, SAVE :: NATOMS, NLAP, NPERM, PATOMS, NTRIES, INFO
 80: INTEGER, SAVE :: PMAXNEI = 60 80: INTEGER, SAVE :: PMAXNEI = 60
 81: DOUBLE PRECISION, PARAMETER :: PSCALE = 1.D6 ! Scale for linear assignment problem 81: DOUBLE PRECISION, PARAMETER :: PSCALE = 1.D6 ! Scale for linear assignment problem
 82: INTEGER, PARAMETER :: MAXIMUMTRIES=20 ! Maximum number of iterations 82: INTEGER, PARAMETER :: MAXIMUMTRIES=20 ! Maximum number of iterations
 83:  83: 
 84: ! Arrays of distances and nearest neighbour distances 84: ! Arrays of distances and nearest neighbour distances


legend
Lines Added 
Lines changed
 Lines Removed

hdiff - version: 2.1.0