hdiff output

r29174/minpermdist.f90 2015-11-17 23:33:44.357099622 +0000 r29173/minpermdist.f90 2015-11-17 23:33:44.557102304 +0000
 52: ! 52: !
 53: !     ---------------------------------------------------------------------------------------------- 53: !     ----------------------------------------------------------------------------------------------
 54: ! jdf43>        Modified for generalised angle-axis 30/01/12 54: ! jdf43>        Modified for generalised angle-axis 30/01/12
 55: !     ---------------------------------------------------------------------------------------------- 55: !     ----------------------------------------------------------------------------------------------
 56:  56: 
 57: SUBROUTINE MINPERMDIST(COORDSB,COORDSA,NATOMS,DEBUG,BOXLX,BOXLY,BOXLZ,BULKT,TWOD,DISTANCE,DIST2,RIGID,RMATBEST) 57: SUBROUTINE MINPERMDIST(COORDSB,COORDSA,NATOMS,DEBUG,BOXLX,BOXLY,BOXLZ,BULKT,TWOD,DISTANCE,DIST2,RIGID,RMATBEST)
 58: USE COMMONS,ONLY : NPERMGROUP, NPERMSIZE, PERMGROUP, NSETS, SETS, CHRMMT, MYUNIT, STOCKT, NFREEZE, & 58: USE COMMONS,ONLY : NPERMGROUP, NPERMSIZE, PERMGROUP, NSETS, SETS, CHRMMT, MYUNIT, STOCKT, NFREEZE, &
 59:   & AMBERT, CSMT, PERMDIST, PULLT, EFIELDT, OHCELLT, NTSITES, GEOMDIFFTOL, & 59:   & AMBERT, CSMT, PERMDIST, PULLT, EFIELDT, OHCELLT, NTSITES, GEOMDIFFTOL, &
 60:   & PERMOPT, PERMINVOPT, NOINVERSION, BESTPERM, BESTINVERT, GTHOMSONT 60:   & PERMOPT, PERMINVOPT, NOINVERSION, BESTPERM, BESTINVERT, GTHOMSONT
 61: USE PORFUNCS 61: USE PORFUNCS
 62: USE GENRIGID 
 63: IMPLICIT NONE 62: IMPLICIT NONE
 64:  63: 
 65: INTEGER, PARAMETER :: MAXIMUMTRIES=20 64: INTEGER, PARAMETER :: MAXIMUMTRIES=20
 66: INTEGER NATOMS, NPERM, PATOMS, NTRIES, ISTAT, OPNUM, NCHOOSEB1, NCHOOSEB2, NORBITB1, NORBITB2, I 65: INTEGER NATOMS, NPERM, PATOMS, NTRIES, ISTAT, OPNUM, NCHOOSEB1, NCHOOSEB2, NORBITB1, NORBITB2, I
 67: INTEGER J3, INVERT, NORBIT1, NORBIT2, NCHOOSE2, NDUMMY, LPERM(NATOMS), J1, J2, NCHOOSE1 66: INTEGER J3, INVERT, NORBIT1, NORBIT2, NCHOOSE2, NDUMMY, LPERM(NATOMS), J1, J2, NCHOOSE1
 68: DOUBLE PRECISION DIST2, COORDSA(3*NATOMS), COORDSB(3*NATOMS), DISTANCE, DUMMYA(3*NATOMS), DUMMYB(3*NATOMS), DUMMY(3*NATOMS) 67: DOUBLE PRECISION DIST2, COORDSA(3*NATOMS), COORDSB(3*NATOMS), DISTANCE, DUMMYA(3*NATOMS), DUMMYB(3*NATOMS), DUMMY(3*NATOMS)
 69: DOUBLE PRECISION BOXLX,BOXLY,BOXLZ,WORSTRAD,RMAT(3,3),ENERGY, VNEW(3*NATOMS), DX, DY, DZ, RMS, DBEST, XBEST(3*NATOMS) 68: DOUBLE PRECISION BOXLX,BOXLY,BOXLZ,WORSTRAD,RMAT(3,3),ENERGY, VNEW(3*NATOMS), DX, DY, DZ, RMS, DBEST, XBEST(3*NATOMS)
 70: DOUBLE PRECISION CMXA, CMXB, CMXC, PDISTANCE, CMX, CMY, CMZ 69: DOUBLE PRECISION CMXA, CMXB, CMXC, PDISTANCE, CMX, CMY, CMZ
 71: DOUBLE PRECISION ROTA(3,3), ROTINVA(3,3), ROTB(3,3), ROTINVB(3,3), ROTINVBBEST(3,3), ROTABEST(3,3), RMATBEST(3,3), TMAT(3,3) 70: DOUBLE PRECISION ROTA(3,3), ROTINVA(3,3), ROTB(3,3), ROTINVB(3,3), ROTINVBBEST(3,3), ROTABEST(3,3), RMATBEST(3,3), TMAT(3,3)
 72: DOUBLE PRECISION CMAX, CMAY, CMAZ, CMBX, CMBY, CMBZ, RMATCUMUL(3,3) 71: DOUBLE PRECISION CMAX, CMAY, CMAZ, CMBX, CMBY, CMBZ, RMATCUMUL(3,3)
 73: DOUBLE PRECISION REFXZ(3,3) 72: DOUBLE PRECISION REFXZ(3,3)
 74: LOGICAL DEBUG, TWOD, RIGID, BULKT, PITEST 73: LOGICAL DEBUG, TWOD, RIGID, BULKT, PITEST
 75: DOUBLE PRECISION PDUMMYA(3*NATOMS), PDUMMYB(3*NATOMS), LDISTANCE, DUMMYC(3*NATOMS), XDUMMY 74: DOUBLE PRECISION PDUMMYA(3*NATOMS), PDUMMYB(3*NATOMS), LDISTANCE, DUMMYC(3*NATOMS), XDUMMY
 76: DOUBLE PRECISION TEMPCOORDSA(DEGFREEDOMS), TEMPCOORDSB(DEGFREEDOMS) 
 77: DOUBLE PRECISION QBEST(4), SITESA(3*NTSITES), SITESB(3*NTSITES) 75: DOUBLE PRECISION QBEST(4), SITESA(3*NTSITES), SITESB(3*NTSITES)
 78: SAVE NORBIT1, NORBIT2 76: SAVE NORBIT1, NORBIT2
 79: INTEGER NEWPERM(NATOMS), ALLPERM(NATOMS), SAVEPERM(NATOMS) 77: INTEGER NEWPERM(NATOMS), ALLPERM(NATOMS), SAVEPERM(NATOMS)
 80: CHARACTER(LEN=5) ZSYMSAVE 78: CHARACTER(LEN=5) ZSYMSAVE
 81: COMMON /SYS/ ZSYMSAVE 79: COMMON /SYS/ ZSYMSAVE
 82:  80: 
 83: DOUBLE PRECISION :: DINV 81: DOUBLE PRECISION :: DINV
 84:  82: 
 85: DISTANCE = 0.0D0 83: DISTANCE = 0.0D0
 86:  84: 
 87: ! jwrm2 85: ! jwrm2
 88: IF (GTHOMSONT) THEN 86: IF (GTHOMSONT) THEN
 89:    CALL GTHOMSONMINPERMDIST(COORDSB,COORDSA,NATOMS,DEBUG,BOXLX,BOXLY,BOXLZ,BULKT,DISTANCE,DIST2,RMATBEST) 87:    CALL GTHOMSONMINPERMDIST(COORDSB,COORDSA,NATOMS,DEBUG,BOXLX,BOXLY,BOXLZ,BULKT,DISTANCE,DIST2,RMATBEST)
 90:    RETURN 88:    RETURN
 91: ENDIF 89: ENDIF
 92:  90: 
 93: IF (RIGIDINIT) THEN 
 94:     IF(DEBUG) THEN 
 95:         IF(.NOT.(ANY(ABS(COORDSA(DEGFREEDOMS+1:3*NATOMS)) .GT. 1.0E-10))) THEN 
 96:             WRITE(*,*) "minpermdist> Warning: COORDSA seems to be in AA coords. Last block (should all be 0):" 
 97:             WRITE(*,*) COORDSA(DEGFREEDOMS+1:3*NATOMS) 
 98:             WRITE(*,*) "Transforming to Cartesians." 
 99:             TEMPCOORDSA = COORDSA(:DEGFREEDOMS) 
100:             CALL TRANSFORMRIGIDTOC(1, NRIGIDBODY, TEMPCOORDSA, COORDSA) 
101:             TEMPCOORDSA(:) = 0 
102:         ENDIF 
103:         IF(.NOT.(ANY(ABS(COORDSB(DEGFREEDOMS+1:3*NATOMS)) .GT. 1.0E-10))) THEN 
104:             WRITE(*,*) "minpermdist> Warning: COORDSB seems to be in AA coords. Last block (should all be 0):" 
105:             WRITE(*,*) COORDSB(DEGFREEDOMS+1:3*NATOMS) 
106:             WRITE(*,*) "Transforming to Cartesians." 
107:             TEMPCOORDSB = COORDSB(:DEGFREEDOMS) 
108:             CALL TRANSFORMRIGIDTOC(1, NRIGIDBODY, TEMPCOORDSB, COORDSB) 
109:             TEMPCOORDSB(:) = 0 
110:         ENDIF 
111:     ENDIF 
112: ENDIF 
113:  
114:  
115:  
116: IF (RIGID .AND. PERMDIST) THEN 91: IF (RIGID .AND. PERMDIST) THEN
117:    CALL RBMINPERMDIST(COORDSB,COORDSA,DISTANCE,DIST2,QBEST,RMATBEST,DEBUG,BOXLX,BOXLY,BOXLZ,BULKT,SITESB,SITESA) 92:    CALL RBMINPERMDIST(COORDSB,COORDSA,DISTANCE,DIST2,QBEST,RMATBEST,DEBUG,BOXLX,BOXLY,BOXLZ,BULKT,SITESB,SITESA)
118:    CALL RBREFLECTYZ(COORDSA(:)) 93:    CALL RBREFLECTYZ(COORDSA(:))
119:    CALL RBMINPERMDIST(COORDSB,COORDSA,DINV,DIST2,QBEST,RMATBEST,DEBUG,BOXLX,BOXLY,BOXLZ,BULKT,SITESB,SITESA) 94:    CALL RBMINPERMDIST(COORDSB,COORDSA,DINV,DIST2,QBEST,RMATBEST,DEBUG,BOXLX,BOXLY,BOXLZ,BULKT,SITESB,SITESA)
120:    IF (DISTANCE.LT.DINV) THEN 95:    IF (DISTANCE.LT.DINV) THEN
121:       CALL RBREFLECTYZ(COORDSA(:)) 96:       CALL RBREFLECTYZ(COORDSA(:))
122:       CALL RBMINPERMDIST(COORDSB,COORDSA,DISTANCE,DIST2,QBEST,RMATBEST,DEBUG,BOXLX,BOXLY,BOXLZ,BULKT,SITESB,SITESA) 97:       CALL RBMINPERMDIST(COORDSB,COORDSA,DISTANCE,DIST2,QBEST,RMATBEST,DEBUG,BOXLX,BOXLY,BOXLZ,BULKT,SITESB,SITESA)
123:    ELSE 98:    ELSE
124:       DISTANCE=DINV 99:       DISTANCE=DINV
125:    ENDIF100:    ENDIF


legend
Lines Added 
Lines changed
 Lines Removed

hdiff - version: 2.1.0