hdiff output

r29240/make_conpot.f90 2015-11-17 23:32:37.432202081 +0000 r29239/make_conpot.f90 2015-11-17 23:32:37.620204603 +0000
 39: IF (NCONGEOM.GE.2) THEN 39: IF (NCONGEOM.GE.2) THEN
 40: ! 40: !
 41: ! If this is not the first call, and we are being passed two minima, 41: ! If this is not the first call, and we are being passed two minima,
 42: ! then we are doing an interpolation metric for a new pair of minima. 42: ! then we are doing an interpolation metric for a new pair of minima.
 43: ! We should optimise the permutational isomers on reference minimum 1 43: ! We should optimise the permutational isomers on reference minimum 1
 44: ! and then do the overall alignment with newmindist, fixing the 44: ! and then do the overall alignment with newmindist, fixing the
 45: ! permutational isomers. This should put the permutational isomers 45: ! permutational isomers. This should put the permutational isomers
 46: ! in register with the constraints, which were calculated for all 46: ! in register with the constraints, which were calculated for all
 47: ! the reference minima after aligning with the first. 47: ! the reference minima after aligning with the first.
 48: ! 48: !
 49:    PRINT *,'CALLED,CONDATT,NCPFIT=',CALLED,CONDATT,NCPFIT 
 50:    IF ((CALLED.OR.CONDATT).AND.(NCPFIT.EQ.2)) THEN 49:    IF ((CALLED.OR.CONDATT).AND.(NCPFIT.EQ.2)) THEN
 51:       CALL MINPERMDIST(CONGEOM(1,1:3*NATOMS),MINCOORDS(1,1:3*NATOMS),NATOMS,DEBUG, & 50:       CALL MINPERMDIST(CONGEOM(1,1:3*NATOMS),MINCOORDS(1,1:3*NATOMS),NATOMS,DEBUG, &
 52:   &                       PARAM1,PARAM2,PARAM3,BULKT,TWOD,D,DIST2,RIGIDBODY,RMAT) 51:   &                       PARAM1,PARAM2,PARAM3,BULKT,TWOD,D,DIST2,RIGIDBODY,RMAT)
 53:       CALL MINPERMDIST(CONGEOM(1,1:3*NATOMS),MINCOORDS(2,1:3*NATOMS),NATOMS,DEBUG, & 52:       CALL MINPERMDIST(CONGEOM(1,1:3*NATOMS),MINCOORDS(2,1:3*NATOMS),NATOMS,DEBUG, &
 54:   &                       PARAM1,PARAM2,PARAM3,BULKT,TWOD,D,DIST2,RIGIDBODY,RMAT) 53:   &                       PARAM1,PARAM2,PARAM3,BULKT,TWOD,D,DIST2,RIGIDBODY,RMAT)
 55:       CALL NEWMINDIST(MINCOORDS(1,1:3*NATOMS),MINCOORDS(2,1:3*NATOMS),NATOMS,DISTANCE, & 54:       CALL NEWMINDIST(MINCOORDS(1,1:3*NATOMS),MINCOORDS(2,1:3*NATOMS),NATOMS,DISTANCE, &
 56:   &                   BULKT,TWOD,'AX   ',.FALSE.,RIGIDBODY,DEBUG,RMAT) 55:   &                   BULKT,TWOD,'AX   ',.FALSE.,RIGIDBODY,DEBUG,RMAT)
 57:    ENDIF 56:    ENDIF
 58: ENDIF 57: ENDIF
 59:  58: 
 66: ALLOCATE(INTFROZEN(NATOMS)) 65: ALLOCATE(INTFROZEN(NATOMS))
 67: INTFROZEN(1:NATOMS)=.FALSE. 66: INTFROZEN(1:NATOMS)=.FALSE.
 68: DLIST(1:NATOMS)=-1 67: DLIST(1:NATOMS)=-1
 69: DMOVED(1:NATOMS)=1.0D100 68: DMOVED(1:NATOMS)=1.0D100
 70: IF (INTFREEZET) THEN 69: IF (INTFREEZET) THEN
 71:    IF (NCPFIT.GT.1) THEN 70:    IF (NCPFIT.GT.1) THEN
 72:       DO J1=1,NATOMS 71:       DO J1=1,NATOMS
 73:          DF=SQRT((MINCOORDS(1,3*(J1-1)+1)-MINCOORDS(2,3*(J1-1)+1))**2 & 72:          DF=SQRT((MINCOORDS(1,3*(J1-1)+1)-MINCOORDS(2,3*(J1-1)+1))**2 &
 74:   &             +(MINCOORDS(1,3*(J1-1)+2)-MINCOORDS(2,3*(J1-1)+2))**2 & 73:   &             +(MINCOORDS(1,3*(J1-1)+2)-MINCOORDS(2,3*(J1-1)+2))**2 &
 75:   &             +(MINCOORDS(1,3*(J1-1)+3)-MINCOORDS(2,3*(J1-1)+3))**2) 74:   &             +(MINCOORDS(1,3*(J1-1)+3)-MINCOORDS(2,3*(J1-1)+3))**2)
 76:          IF (J1.EQ.NATOMS) THEN 
 77:             WRITE(*,'(A,6G20.10)') 'mincoords atom 400: ',MINCOORDS(1,1198:1200),MINCOORDS(2,1198:1200) 
 78:             WRITE(*,'(A,6G20.10)') 'DF,INTFREEZETOL=',DF,INTFREEZETOL 
 79:          ENDIF 
 80:          IF (DF.LT.INTFREEZETOL) THEN 75:          IF (DF.LT.INTFREEZETOL) THEN
 81:             NQCIFREEZE=NQCIFREEZE+1 76:             NQCIFREEZE=NQCIFREEZE+1
 82:             INTFROZEN(J1)=.TRUE. 77:             INTFROZEN(J1)=.TRUE.
 83:             IF (DEBUG) PRINT '(A,I6,A,F12.6,A,I6)',' make_conpot> atom ',J1, & 78: !           IF (DEBUG) PRINT '(A,I6,A,F12.6,A,I6)',' make_conpot> atom ',J1, &
 84:   &                          ' moves less than threshold: distance=',DF,' total=',NQCIFREEZE 79: ! &                          ' moves less than threshold: distance=',DF,' total=',NQCIFREEZE
 85:          ENDIF 80:          ENDIF
 86:          sortd: DO J2=1,J1 81:          sortd: DO J2=1,J1
 87:             IF (DF.LT.DMOVED(J2)) THEN 82:             IF (DF.LT.DMOVED(J2)) THEN
 88:                DO J3=J1,J2+1,-1 83:                DO J3=J1,J2+1,-1
 89:                   DMOVED(J3)=DMOVED(J3-1) 84:                   DMOVED(J3)=DMOVED(J3-1)
 90:                   DLIST(J3)=DLIST(J3-1) 85:                   DLIST(J3)=DLIST(J3-1)
 91:                ENDDO 86:                ENDDO
 92:                DMOVED(J2)=DF 87:                DMOVED(J2)=DF
 93:                DLIST(J2)=J1 88:                DLIST(J2)=J1
 94:                EXIT sortd 89:                EXIT sortd
138: 133: 
139: !134: !
140: ! Fixed repulsions based on congeom file entries135: ! Fixed repulsions based on congeom file entries
141: ! Just need to adjust the list based on any frozen atoms and check136: ! Just need to adjust the list based on any frozen atoms and check
142: ! to make sure a new pair of minima don't have repulsive atoms within137: ! to make sure a new pair of minima don't have repulsive atoms within
143: ! the current cutoff.138: ! the current cutoff.
144: ! 139: ! 
145: IF (NCONGEOM.GE.2) THEN140: IF (NCONGEOM.GE.2) THEN
146:    IF (CALLED.OR.CONDATT) THEN141:    IF (CALLED.OR.CONDATT) THEN
147:       J2=0142:       J2=0
148:       PRINT '(A,I8)', 'NCPFIT=',NCPFIT 
149:       DO J1=1,NREPULSIVEFIX143:       DO J1=1,NREPULSIVEFIX
150: !144: !
151: ! If called with two minima check that REPCUTFIX doesn't exceed the separation in 145: ! If called with two minima check that REPCUTFIX doesn't exceed the separation in 
152: ! either minimum.146: ! either minimum.
153: !147: !
154:          IF (NCPFIT.EQ.2) THEN148:          IF (NCPFIT.EQ.2) THEN
155:             DF=MIN(SQRT((MINCOORDS(1,3*(REPIFIX(J1)-1)+1)-MINCOORDS(1,3*(REPJFIX(J1)-1)+1))**2+ &149:             DF=MIN(SQRT((MINCOORDS(1,3*(REPIFIX(J1)-1)+1)-MINCOORDS(1,3*(REPJFIX(J1)-1)+1))**2+ &
156:   &                     (MINCOORDS(1,3*(REPIFIX(J1)-1)+2)-MINCOORDS(1,3*(REPJFIX(J1)-1)+2))**2+ &150:   &                     (MINCOORDS(1,3*(REPIFIX(J1)-1)+2)-MINCOORDS(1,3*(REPJFIX(J1)-1)+2))**2+ &
157:   &                     (MINCOORDS(1,3*(REPIFIX(J1)-1)+3)-MINCOORDS(1,3*(REPJFIX(J1)-1)+3))**2),&151:   &                     (MINCOORDS(1,3*(REPIFIX(J1)-1)+3)-MINCOORDS(1,3*(REPJFIX(J1)-1)+3))**2),&
158:                    SQRT((MINCOORDS(2,3*(REPIFIX(J1)-1)+1)-MINCOORDS(2,3*(REPJFIX(J1)-1)+1))**2+ &152:                    SQRT((MINCOORDS(2,3*(REPIFIX(J1)-1)+1)-MINCOORDS(2,3*(REPJFIX(J1)-1)+1))**2+ &
159:   &                     (MINCOORDS(2,3*(REPIFIX(J1)-1)+2)-MINCOORDS(2,3*(REPJFIX(J1)-1)+2))**2+ &153:   &                     (MINCOORDS(2,3*(REPIFIX(J1)-1)+2)-MINCOORDS(2,3*(REPJFIX(J1)-1)+2))**2+ &
160:   &                     (MINCOORDS(2,3*(REPIFIX(J1)-1)+3)-MINCOORDS(2,3*(REPJFIX(J1)-1)+3))**2))154:   &                     (MINCOORDS(2,3*(REPIFIX(J1)-1)+3)-MINCOORDS(2,3*(REPJFIX(J1)-1)+3))**2))
161: !           PRINT '(A,I8,2G20.10)','J1,DF,REPCUTFIX(J1)=',J1,DF,REPCUTFIX(J1) 
162:             IF (DF.LT.REPCUTFIX(J1)) THEN155:             IF (DF.LT.REPCUTFIX(J1)) THEN
163:                PRINT '(A,2I6,2(A,G15.5))',' make_conpot> Reducing repulsive cutoff for atoms ', &156:                PRINT '(A,2I6,2(A,G15.5))',' make_conpot> Reducing repulsive cutoff for atoms ', &
164:   &                       REPIFIX(J1),REPJFIX(J1),' from ',REPCUTFIX(J1),' to ',DF-1.0D-3157:   &                       REPIFIX(J1),REPJFIX(J1),' from ',REPCUTFIX(J1),' to ',DF-1.0D-3
165:                REPCUTFIX(J1)=DF-1.0D-3158:                REPCUTFIX(J1)=DF-1.0D-3
166:             ENDIF159:             ENDIF
167:          ENDIF160:          ENDIF
168:          IF (INTFROZEN(REPIFIX(J1)).AND.INTFROZEN(REPJFIX(J1))) CYCLE161:          IF (INTFROZEN(REPIFIX(J1)).AND.INTFROZEN(REPJFIX(J1))) CYCLE
169:          J2=J2+1162:          J2=J2+1
170:          REPI(J2)=REPIFIX(J1)163:          REPI(J2)=REPIFIX(J1)
171:          REPJ(J2)=REPJFIX(J1)164:          REPJ(J2)=REPJFIX(J1)
172:          REPCUT(J2)=REPCUTFIX(J1)165:          REPCUT(J2)=REPCUTFIX(J1)
173:       ENDDO166:       ENDDO
174:       NREPULSIVE=J2167:       NREPULSIVE=J2
175:       PRINT '(A,I6,A)',' make_conpot> After allowing for frozen atoms there are ',NREPULSIVE,' possible repulsions'168: !     PRINT '(A,I6,A)',' make_conpot> After allowing for frozen atoms there are ',NREPULSIVE,' possible repulsions'
176:       NREPI(1:NREPULSIVE)=REPI(1:NREPULSIVE)169:       NREPI(1:NREPULSIVE)=REPI(1:NREPULSIVE)
177:       NREPJ(1:NREPULSIVE)=REPJ(1:NREPULSIVE)170:       NREPJ(1:NREPULSIVE)=REPJ(1:NREPULSIVE)
178:       NNREPULSIVE=NREPULSIVE171:       NNREPULSIVE=NREPULSIVE
179:       NREPCUT(1:NREPULSIVE)=REPCUT(1:NREPULSIVE)172:       NREPCUT(1:NREPULSIVE)=REPCUT(1:NREPULSIVE)
180:       IF (ALLOCATED(CONACTIVE)) DEALLOCATE(CONACTIVE)173:       IF (ALLOCATED(CONACTIVE)) DEALLOCATE(CONACTIVE)
181:       ALLOCATE(CONACTIVE(NCONSTRAINT))174:       ALLOCATE(CONACTIVE(NCONSTRAINT))
182:       CONACTIVE(1:NCONSTRAINT)=.TRUE. 175:       CONACTIVE(1:NCONSTRAINT)=.TRUE. 
183:       IF (ALLOCATED(CONDISTREFLOCAL)) DEALLOCATE(CONDISTREFLOCAL)176:       IF (ALLOCATED(CONDISTREFLOCAL)) DEALLOCATE(CONDISTREFLOCAL)
184:       ALLOCATE(CONDISTREFLOCAL(NCONSTRAINT))177:       ALLOCATE(CONDISTREFLOCAL(NCONSTRAINT))
185:       CONDISTREFLOCAL(1:NCONSTRAINT)=CONDISTREF(1:NCONSTRAINT)178:       CONDISTREFLOCAL(1:NCONSTRAINT)=CONDISTREF(1:NCONSTRAINT)


legend
Lines Added 
Lines changed
 Lines Removed

hdiff - version: 2.1.0