hdiff output

r31026/connect_unconnected.f90 2016-08-16 15:30:14.523704125 +0100 r31025/connect_unconnected.f90 2016-08-16 15:30:15.767720690 +0100
167: 167: 
168: ALLOCATE(UNCMIN(NUNCONN)) !get an unsorted list of all unconnected minima168: ALLOCATE(UNCMIN(NUNCONN)) !get an unsorted list of all unconnected minima
169: UNCMIN(1:NUNCONN)=0169: UNCMIN(1:NUNCONN)=0
170: ALLOCATE(CONMIN(NMIN-NUNCONN))   !get list of minima in connected set170: ALLOCATE(CONMIN(NMIN-NUNCONN))   !get list of minima in connected set
171: CONMIN(1:(NMIN-NUNCONN))=0171: CONMIN(1:(NMIN-NUNCONN))=0
172: ALLOCATE(EUNCON(NUNCONN))172: ALLOCATE(EUNCON(NUNCONN))
173: J2=1173: J2=1
174: J3=1174: J3=1
175: DO J1=1,NMIN175: DO J1=1,NMIN
176:    IF (UNCONN(J1)) THEN176:    IF (UNCONN(J1)) THEN
177:       EUNCON(J2)=EMIN(J1)               !assign energy of minimum, minus as we want sorting lowest->highest177:       EUNCON(J2)=-EMIN(J1)               !assign energy of minimum, minus as we want sorting lowest->highest
178:       UNCMIN(J2)=J1                      !assign minimum id (for sorting)178:       UNCMIN(J2)=J1                      !assign minimum id (for sorting)
179:       J2=J2+1179:       J2=J2+1
180:    ELSE180:    ELSE
181:       CONMIN(J3)=J1                      !similarly create list of minima in AB set181:       CONMIN(J3)=J1                      !similarly create list of minima in AB set
182:       J3=J3+1182:       J3=J3+1
183:    ENDIF183:    ENDIF
184: ENDDO184: ENDDO
185: 185: 
186: PAIRSTODO=NCPU                                     !recalculate for every cycle186: PAIRSTODO=NCPU                                     !recalculate for every cycle
187: IF (ALLOCATED(DMIN1)) DEALLOCATE(DMIN1,DMIN2)      187: IF (ALLOCATED(DMIN1)) DEALLOCATE(DMIN1,DMIN2)      
188: ALLOCATE(DMIN1(PAIRSTODO),DMIN2(PAIRSTODO))188: ALLOCATE(DMIN1(PAIRSTODO),DMIN2(PAIRSTODO))
189: IF (CONNECTLOWESTT) THEN   !connect lowest energy minima to closest from connected AB set189: IF (CONNECTLOWESTT) THEN   !connect lowest energy minima to closest from connected AB set
190:    !need to sort list by energies, lowest to highest190:    !need to sort list by energies, lowest to highest
191:    !CALL SORT(NUNCONN,NUNCONN,EUNCON,UNCMIN)191:    CALL SORT(NUNCONN,NUNCONN,EUNCON,UNCMIN)
192:    CALL DSORT(EUNCON,UNCMIN,NUNCONN,2)192:    IF (DEBUG) PRINT '(A)','connectunconnected> Sorted energies of unconnected minima'
193:    IF (DEBUG) THEN 
194:       PRINT '(A)','connectunconnected> Sorted energies of unconnected minima' 
195:       DO J7 = 1,NUNCONN,1 
196:          PRINT '(2(A,I8),F20.10)' , 'Minimum',J7,':',UNCMIN(J7),EUNCON(J7) 
197:       ENDDO 
198:    ENDIF 
199: !   !use closest distance and attempt one connection for each minimum193: !   !use closest distance and attempt one connection for each minimum
200: !   J7=0194: !   J7=0
201: !   DO J4=1,PAIRSTODO195: !   DO J4=1,PAIRSTODO
202: !54    J7=J7+1196: !54    J7=J7+1
203: !      READ(UMIN,REC=UNCMIN(J7)) (LOWESTX(J6),J6=1,3*NATOMS)197: !      READ(UMIN,REC=UNCMIN(J7)) (LOWESTX(J6),J6=1,3*NATOMS)
204: !      DISTMIN = 1.0D100198: !      DISTMIN = 1.0D100
205: !      CLOSESTMIN = 0199: !      CLOSESTMIN = 0
206: !      DO J5=1,(NMIN-NUNCONN),1200: !      DO J5=1,(NMIN-NUNCONN),1
207: !         READ(UMIN,REC=CONMIN(J5)) (SETX(J6),J6=1,3*NATOMS)201: !         READ(UMIN,REC=CONMIN(J5)) (SETX(J6),J6=1,3*NATOMS)
208: !         CALL MINPERMDIST(SETX,LOWESTX,NATOMS,DEBUG,BOXLX,BOXLY,BOXLZ,BULKT,TWOD,DISTANCE, &202: !         CALL MINPERMDIST(SETX,LOWESTX,NATOMS,DEBUG,BOXLX,BOXLY,BOXLZ,BULKT,TWOD,DISTANCE, &
234:    J7 = 0                            !minimum under consideration228:    J7 = 0                            !minimum under consideration
235:    DO J4=1,PAIRSTODO                 229:    DO J4=1,PAIRSTODO                 
236: 54    IF (.NOT.DISTCALC) THEN        !only recalculate distance if we have a new minimum!230: 54    IF (.NOT.DISTCALC) THEN        !only recalculate distance if we have a new minimum!
237:          J7 = J7 + 1                 !next minimum231:          J7 = J7 + 1                 !next minimum
238:          REFMIN = UNCMIN(J7)         !assign new reference minimum (starting from the lowest energy minimum)232:          REFMIN = UNCMIN(J7)         !assign new reference minimum (starting from the lowest energy minimum)
239:          READ(UMIN,REC=UNCMIN(J7)) (LOWESTX(J6),J6=1,3*NATOMS)233:          READ(UMIN,REC=UNCMIN(J7)) (LOWESTX(J6),J6=1,3*NATOMS)
240:          DO J5=1,(NMIN-NUNCONN),1   234:          DO J5=1,(NMIN-NUNCONN),1   
241:             READ(UMIN,REC=CONMIN(J5)) (SETX(J6),J6=1,3*NATOMS)235:             READ(UMIN,REC=CONMIN(J5)) (SETX(J6),J6=1,3*NATOMS)
242:             CALL MINPERMDIST(SETX,LOWESTX,NATOMS,DEBUG,BOXLX,BOXLY,BOXLZ,BULKT,TWOD,DISTANCE, &236:             CALL MINPERMDIST(SETX,LOWESTX,NATOMS,DEBUG,BOXLX,BOXLY,BOXLZ,BULKT,TWOD,DISTANCE, &
243: &                         DIST2,RIGIDBODY,RMAT,.FALSE.) 237: &                         DIST2,RIGIDBODY,RMAT,.FALSE.) 
244:             DISTCON(J5) = DISTANCE  !again use negative as we sort lowest->highest238:             DISTCON(J5) = -DISTANCE  !again use negative as we sort lowest->highest
245:             IF (DEBUG) PRINT '(A,I8,A,F15.8)', 'connectlowest> Minimum:',CONMIN(J5),' Distance:',DISTANCE239:             IF (DEBUG) PRINT '(A,I8,A,F15.8)', 'connectlowest> Minimum:',CONMIN(J5),' Distance:',DISTANCE
246:          ENDDO240:          ENDDO
247:          !CALL SORT((NMIN-NUNCONN),(NMIN-NUNCONN),DISTCON,CONMIN) !sort AB set by distance241:          CALL SORT((NMIN-NUNCONN),(NMIN-NUNCONN),DISTCON,CONMIN) !sort AB set by distance
248:          CALL DSORT(DISTCON,CONMIN,(NMIN-NUNCONN),2) 
249:          IF (DEBUG) PRINT '(A)', 'connectlowest> Sorted distances'242:          IF (DEBUG) PRINT '(A)', 'connectlowest> Sorted distances'
250:          DISTCALC = .TRUE.  !have valid distances now243:          DISTCALC = .TRUE.  !have valid distances now
251:          NPUSED = 0 !numbers of connections used, reset for each new reference minmum244:          NPUSED = 0 !numbers of connections used, reset for each new reference minmum
252:          J8 = 0 !actual minimum used from CONMIN (need to consider previously used pairs)245:          J8 = 0 !actual minimum used from CONMIN (need to consider previously used pairs)
253:       ENDIF246:       ENDIF
254:       IF (NPUSED.LT.NATT) THEN    !if the number of pairs for the current reference is less than the user specified247:       IF (NPUSED.LT.NATT) THEN    !if the number of pairs for the current reference is less than the user specified
255: 57       J8 = J8 + 1              !next minimum in CONMIN248: 57       J8 = J8 + 1              !next minimum in CONMIN
256:          DO J3=1,NPAIRDONE,1   249:          DO J3=1,NPAIRDONE,1   
257:             IF ((PAIR1(J3).EQ.REFMIN).AND.(PAIR2(J3).EQ.CONMIN(J8))) THEN250:             IF ((PAIR1(J3).EQ.REFMIN).AND.(PAIR2(J3).EQ.CONMIN(J8))) THEN
258:                GOTO 57251:                GOTO 57
259:             ELSE IF ((PAIR1(J3).EQ.CONMIN(J8)).AND.(PAIR2(J3).EQ.REFMIN)) THEN252:             ELSE IF ((PAIR1(J3).EQ.CONMIN(J8)).AND.(PAIR2(J3).EQ.REFMIN)) THEN
260:                GOTO 57253:                GOTO 57
261:             ENDIF254:             ENDIF
262:          ENDDO255:          ENDDO
263:          NPUSED = NPUSED + 1     !we have found a new pair256:          NPUSED = NPUSED + 1     !we have found a new pair
264:          DMIN1(J4) = REFMIN      !assign them accordingly 257:          DMIN1(J4) = REFMIN      !assign them accordingly 
265:          DMIN2(J4) = CONMIN(J8)258:          DMIN2(J4) = CONMIN(J8)
266:          PRINT '(A,I8,A,F15.8)','connectlowest> Minimum 1:',DMIN1(J4),' Energy:',EMIN(DMIN1(J4))259:          PRINT '(A,I8,A,F15.8)','connectlowest> Minimum 1:',DMIN1(J4),' Energy:',EMIN(DMIN1(J4))
267:          PRINT '(A,I8,A,F15.8)','connectlowest> Minimum 2:',DMIN2(J4),' Energy:',EMIN(DMIN2(J4))260:          PRINT '(A,I8,A,F15.8)','connectlowest> Minimum 2:',DMIN2(J4),' Energy:',EMIN(DMIN2(J4))
268:          PRINT '(A,F15.8)','connectlowest> Distance:',DISTCON(J8)261:          PRINT '(A,F15.8)','connectlowest> Distance:',-DISTCON(J8)
269:       ELSE                      !reached the number previously specified, go for the next lowest minimum in UNCONMIN262:       ELSE                      !reached the number previously specified, go for the next lowest minimum in UNCONMIN
270:          DISTCALC = .FALSE.     !reset DISTCALC and return to 54 to reinitialise everything (as we assign a new distance263:          DISTCALC = .FALSE.     !reset DISTCALC and return to 54 to reinitialise everything (as we assign a new distance
271:          GOTO 54                !to each minimum and resort, we dont need to reinitialise the distance list264:          GOTO 54                !to each minimum and resort, we dont need to reinitialise the distance list
272:       ENDIF265:       ENDIF
273:    ENDDO 266:    ENDDO 
274: 267: 
275: ELSEIF (CONNECTETHRESHT) THEN  !connect states closest in energy to a given min to set268: ELSEIF (CONNECTETHRESHT) THEN  !connect states closest in energy to a given min to set
276:    !need to sort list by relative energies269:    !need to sort list by relative energies
277:    EREF=EMIN(REFMIN)        270:    EREF=-EMIN(REFMIN)        !needs to be inverted as all energies are inverted in EUNCON
278:    ALLOCATE(EUNDIFF(NUNCONN))271:    ALLOCATE(EUNDIFF(NUNCONN))
279:    DO J1=1,NUNCONN,1272:    DO J1=1,NUNCONN,1
280:       EUNDIFF(J1)=ABS(EUNCON(J1)-EREF)  !use absolute difference273:       EUNDIFF(J1)=-ABS(EUNCON(J1)-EREF)  !use absolute difference and then again use its negative for sorting
281:    ENDDO274:    ENDDO
282:    !CALL SORT(NUNCONN,NUNCONN,EUNDIFF,UNCMIN)  !sort UNCMIN by the energy differences275:    CALL SORT(NUNCONN,NUNCONN,EUNDIFF,UNCMIN)  !sort UNCMIN by the energy differences
283:    CALL DSORT(EUNDIFF,UNCMIN,NUNCONN,2) 
284:    !now find the pairs to connect276:    !now find the pairs to connect
285:    J7=0277:    J7=0
286:    DO J4=1,PAIRSTODO278:    DO J4=1,PAIRSTODO
287: 55    J7=J7+1279: 55    J7=J7+1
288:       DO J3=1,NPAIRDONE,1280:       DO J3=1,NPAIRDONE,1
289:          IF ((PAIR1(J3).EQ.UNCMIN(J7)).AND.(PAIR2(J3).EQ.REFMIN)) THEN281:          IF ((PAIR1(J3).EQ.UNCMIN(J7)).AND.(PAIR2(J3).EQ.REFMIN)) THEN
290:             GOTO 55282:             GOTO 55
291:          ELSE IF ((PAIR1(J3).EQ.REFMIN).AND.(PAIR2(J3).EQ.UNCMIN(J7))) THEN283:          ELSE IF ((PAIR1(J3).EQ.REFMIN).AND.(PAIR2(J3).EQ.UNCMIN(J7))) THEN
292:             GOTO 55284:             GOTO 55
293:          ENDIF285:          ENDIF
300:    ENDDO292:    ENDDO
301: 293: 
302: ELSEIF (CONNECTDTHRESHT) THEN  !connect states closest in energy to a given min to set294: ELSEIF (CONNECTDTHRESHT) THEN  !connect states closest in energy to a given min to set
303:    !need to compute distances for all unconnected minima and sort it295:    !need to compute distances for all unconnected minima and sort it
304:    READ(UMIN,REC=REFMIN) (REFX(J6),J6=1,3*NATOMS)296:    READ(UMIN,REC=REFMIN) (REFX(J6),J6=1,3*NATOMS)
305:    ALLOCATE(UNCONDIST(NUNCONN))297:    ALLOCATE(UNCONDIST(NUNCONN))
306:    DO J5=1,NUNCONN,1298:    DO J5=1,NUNCONN,1
307:       READ(UMIN,REC=UNCMIN(J5)) (SETX(J6),J6=1,3*NATOMS)299:       READ(UMIN,REC=UNCMIN(J5)) (SETX(J6),J6=1,3*NATOMS)
308:       CALL MINPERMDIST(SETX,REFX,NATOMS,DEBUG,BOXLX,BOXLY,BOXLZ,BULKT,TWOD,DISTANCE, &300:       CALL MINPERMDIST(SETX,REFX,NATOMS,DEBUG,BOXLX,BOXLY,BOXLZ,BULKT,TWOD,DISTANCE, &
309: &                         DIST2,RIGIDBODY,RMAT,.FALSE.)301: &                         DIST2,RIGIDBODY,RMAT,.FALSE.)
310:       UNCONDIST(J5) = DISTANCE                           302:       UNCONDIST(J5) = -DISTANCE                           !invert order to get smallest distance
311:    ENDDO303:    ENDDO
312:   !CALL SORT(NUNCONN,NUNCONN,UNCONDIST,UNCMIN)304:    CALL SORT(NUNCONN,NUNCONN,UNCONDIST,UNCMIN)
313:    CALL DSORT(UNCONDIST,UNCMIN,NUNCONN,2) 
314:    !now find the pairs to connect305:    !now find the pairs to connect
315:    J7=0306:    J7=0
316:    DO J4=1,PAIRSTODO307:    DO J4=1,PAIRSTODO
317: 56    J7=J7+1308: 56    J7=J7+1
318:       DO J3=1,NPAIRDONE,1309:       DO J3=1,NPAIRDONE,1
319:          IF ((PAIR1(J3).EQ.UNCMIN(J7)).AND.(PAIR2(J3).EQ.REFMIN)) THEN310:          IF ((PAIR1(J3).EQ.UNCMIN(J7)).AND.(PAIR2(J3).EQ.REFMIN)) THEN
320:             GOTO 56311:             GOTO 56
321:          ELSE IF ((PAIR1(J3).EQ.REFMIN).AND.(PAIR2(J3).EQ.UNCMIN(J7))) THEN312:          ELSE IF ((PAIR1(J3).EQ.REFMIN).AND.(PAIR2(J3).EQ.UNCMIN(J7))) THEN
322:             GOTO 56313:             GOTO 56
323:          ENDIF314:          ENDIF
324:       ENDDO315:       ENDDO
325:       DMIN1(J4)=UNCMIN(J7)316:       DMIN1(J4)=UNCMIN(J7)
326:       DMIN2(J4)=REFMIN317:       DMIN2(J4)=REFMIN
327:       PRINT '(A,I8,A,F15.8)','connectclosestD> Minimum 1:',DMIN1(J4),' Energy:',EMIN(DMIN1(J4))318:       PRINT '(A,I8,A,F15.8)','connectclosestD> Minimum 1:',DMIN1(J4),' Energy:',EMIN(DMIN1(J4))
328:       PRINT '(A,I8,A,F15.8)','connectclosestD> Minimum 2:',DMIN2(J4),' Energy:',EMIN(DMIN2(J4))319:       PRINT '(A,I8,A,F15.8)','connectclosestD> Minimum 2:',DMIN2(J4),' Energy:',EMIN(DMIN2(J4))
329:       PRINT '(A,F15.8)','connectclosestD> Distance:', UNCONDIST(J7)320:       PRINT '(A,F15.8)','connectclosestD> Distance:', -UNCONDIST(J7)
330:    ENDDO321:    ENDDO
331: ENDIF322: ENDIF
332: 323: 
333: NAVAIL = PAIRSTODO324: NAVAIL = PAIRSTODO
334: DEALLOCATE(UNCMIN,CONMIN,EUNCON)325: DEALLOCATE(UNCMIN,CONMIN,EUNCON)
335: IF (ALLOCATED(UNCONDIST)) DEALLOCATE(UNCONDIST)326: IF (ALLOCATED(UNCONDIST)) DEALLOCATE(UNCONDIST)
336: IF (ALLOCATED(EUNDIFF)) DEALLOCATE(EUNDIFF)327: IF (ALLOCATED(EUNDIFF)) DEALLOCATE(EUNDIFF)
337: IF (ALLOCATED(DISTCON)) DEALLOCATE(DISTCON)328: IF (ALLOCATED(DISTCON)) DEALLOCATE(DISTCON)
338: END SUBROUTINE CONNECTUNCONNECTED329: END SUBROUTINE CONNECTUNCONNECTED
339: 330: 


r31026/dsort.f 2016-08-16 15:30:14.775707478 +0100 r31025/dsort.f 2016-08-16 15:30:16.019724042 +0100
 63: C   901012  Declared all variables; changed X,Y to DX,DY; changed 63: C   901012  Declared all variables; changed X,Y to DX,DY; changed
 64: C           code to parallel SSORT. (M. McClain) 64: C           code to parallel SSORT. (M. McClain)
 65: C   920501  Reformatted the REFERENCES section.  (DWL, WRB) 65: C   920501  Reformatted the REFERENCES section.  (DWL, WRB)
 66: C   920519  Clarified error messages.  (DWL) 66: C   920519  Clarified error messages.  (DWL)
 67: C   920801  Declarations section rebuilt and code restructured to use 67: C   920801  Declarations section rebuilt and code restructured to use
 68: C           IF-THEN-ELSE-ENDIF.  (RWC, WRB) 68: C           IF-THEN-ELSE-ENDIF.  (RWC, WRB)
 69: C***END PROLOGUE  DSORT 69: C***END PROLOGUE  DSORT
 70: C     .. Scalar Arguments .. 70: C     .. Scalar Arguments ..
 71:       INTEGER KFLAG, N 71:       INTEGER KFLAG, N
 72: C     .. Array Arguments .. 72: C     .. Array Arguments ..
 73: ! 73:       DOUBLE PRECISION DX(*), DY(*)
 74: !      DOUBLE PRECISION DX(*), DY(*) 
 75: !      kr366> changed to one double precision list with an integer list 
 76: !      dragged along  
 77: ! 
 78:       DOUBLE PRECISION DX(*) 
 79:       INTEGER DY(*)  
 80:  
 81: C     .. Local Scalars .. 74: C     .. Local Scalars ..
 82: !      DOUBLE PRECISION R, T, TT, TTY, TY 75:       DOUBLE PRECISION R, T, TT, TTY, TY
 83:       DOUBLE PRECISION R, T, TT 
 84:       INTEGER TTY, TY 
 85:       INTEGER I, IJ, J, K, KK, L, M, NN 76:       INTEGER I, IJ, J, K, KK, L, M, NN
 86: C     .. Local Arrays .. 77: C     .. Local Arrays ..
 87:       INTEGER IL(21), IU(21) 78:       INTEGER IL(21), IU(21)
 88: C     .. External Subroutines .. 79: C     .. External Subroutines ..
 89:       EXTERNAL XERMSG 80:       EXTERNAL XERMSG
 90: C     .. Intrinsic Functions .. 81: C     .. Intrinsic Functions ..
 91:       INTRINSIC ABS, INT 82:       INTRINSIC ABS, INT
 92: C***FIRST EXECUTABLE STATEMENT  DSORT 83: C***FIRST EXECUTABLE STATEMENT  DSORT
 93:       NN = N 84:       NN = N
 94:       IF (NN .LT. 1) THEN 85:       IF (NN .LT. 1) THEN


r31026/KMCcommit.f 2016-08-16 15:30:14.267700713 +0100 r31025/KMCcommit.f 2016-08-16 15:30:15.515717332 +0100
832: !  We are setting up DMAT0(NOFF(M2),NOFF(M2)+NCOL(M2))832: !  We are setting up DMAT0(NOFF(M2),NOFF(M2)+NCOL(M2))
833: !  First entry for M2 at position NOFF(M2)+1833: !  First entry for M2 at position NOFF(M2)+1
834: !  No entries if NCOL(M2)=0834: !  No entries if NCOL(M2)=0
835: !  Cycle over connected transition states using pointers for minimum M2.835: !  Cycle over connected transition states using pointers for minimum M2.
836: !836: !
837:       NCOL(1:NMIN)=0837:       NCOL(1:NMIN)=0
838:       NOFF(1:NMIN)=0838:       NOFF(1:NMIN)=0
839: 839: 
840:       fromloop: DO M2=1,NMIN   840:       fromloop: DO M2=1,NMIN   
841:          IF (M2.GT.1) NOFF(M2)=NOFF(M2-1)+NCOL(M2-1)841:          IF (M2.GT.1) NOFF(M2)=NOFF(M2-1)+NCOL(M2-1)
842:          IF ((M2.GT.1).AND.DEBUG) PRINT '(A,4I10)','M2,NOFF(M2-1),NCOL(M2-1),NOFF(M2)=',M2,NOFF(M2-1),NCOL(M2-1),NOFF(M2)842:          IF (M2.GT.1) PRINT '(A,4I10)','M2,NOFF(M2-1),NCOL(M2-1),NOFF(M2)=',M2,NOFF(M2-1),NCOL(M2-1),NOFF(M2)
843:          IF ((DIRECTION.EQ.'AB').AND.ISA(M2).AND.(.NOT.SORTT)) THEN843:          IF ((DIRECTION.EQ.'AB').AND.ISA(M2).AND.(.NOT.SORTT)) THEN
844:             CYCLE fromloop ! no escape from A844:             CYCLE fromloop ! no escape from A
845:          ELSEIF ((DIRECTION.EQ.'BA').AND.ISB(M2).AND.(.NOT.SORTT)) THEN845:          ELSEIF ((DIRECTION.EQ.'BA').AND.ISB(M2).AND.(.NOT.SORTT)) THEN
846:             CYCLE fromloop ! no escape from B846:             CYCLE fromloop ! no escape from B
847:          ENDIF847:          ENDIF
848:          J1=TOPPOINTER(M2)  !  sets J1 to the ts connected to minimum M2 with the highest value848:          J1=TOPPOINTER(M2)  !  sets J1 to the ts connected to minimum M2 with the highest value
849:          IF (J1.LE.0) CYCLE fromloop849:          IF (J1.LE.0) CYCLE fromloop
850: 11       CONTINUE850: 11       CONTINUE
851:          IF ((.NOT.DEADTS(J1)).AND.(PLUS(J1).NE.MINUS(J1))) THEN851:          IF ((.NOT.DEADTS(J1)).AND.(PLUS(J1).NE.MINUS(J1))) THEN
852:             IF (PLUS(J1).EQ.M2) THEN852:             IF (PLUS(J1).EQ.M2) THEN


r31026/perm-prmtop.ff03.py 2016-08-16 15:30:15.267714032 +0100 r31025/perm-prmtop.ff03.py 2016-08-16 15:30:16.515730646 +0100
356: for i in range(len(atomName)):356: for i in range(len(atomName)):
357:   atomIndex.append(i*3)357:   atomIndex.append(i*3)
358: 358: 
359: ############################################################359: ############################################################
360: ## groups of amino acids according to permutation behaviour360: ## groups of amino acids according to permutation behaviour
361: ############################################################361: ############################################################
362: 362: 
363: ## group0 and group0n: nothing to do363: ## group0 and group0n: nothing to do
364: ## group1: problem only with C terminus COO- group: CA-O-C-OXT -> O-CA-C-OXT364: ## group1: problem only with C terminus COO- group: CA-O-C-OXT -> O-CA-C-OXT
365: 365: 
366: group0 = ['GLY','ALA','VAL','LEU','MET','ILE','SER','THR','CYS','LYS','HIP','HIE','HID','CYX']366: group0 = ['GLY','ALA','VAL','LEU','MET','ILE','SER','THR','CYS','LYS','HIP','HIE','HID']
367: group0n = ['NGLY','NALA','NVAL','NLEU','NMET','NILE','NSER','NTHR','NCYS','NLYS','NHIP','NHIE','NHID','NCYX']367: group0n = ['NGLY','NALA','NVAL','NLEU','NMET','NILE','NSER','NTHR','NCYS','NLYS','NHIP','NHIE','NHID']
368: group1 = ['CGLY','CALA','CVAL','CLEU','CMET','CILE','CSER','CTHR','CCYS','CLYS','CPRO','CTRP','CHIP','CHIE','CHID','CCYX']368: group1 = ['CGLY','CALA','CVAL','CLEU','CMET','CILE','CSER','CTHR','CCYS','CLYS','CPRO','CTRP','CHIP','CHIE','CHID']
369: 369: 
370: #################################################################370: #################################################################
371: ## groups of nucleic residues according to permutation behaviour371: ## groups of nucleic residues according to permutation behaviour
372: #################################################################372: #################################################################
373: 373: 
374: group2 = ['DA', 'DA3', 'DA5', 'DAN', 'RA', 'RA3', 'RA5', 'RAN']374: group2 = ['DA', 'DA3', 'DA5', 'DAN', 'RA', 'RA3', 'RA5', 'RAN']
375: group3 = ['DC', 'DC3', 'DC5', 'DCN', 'RC', 'RC3', 'RC5', 'RCN']375: group3 = ['DC', 'DC3', 'DC5', 'DCN', 'RC', 'RC3', 'RC5', 'RCN']
376: group4 = ['DG', 'DG3', 'DG5', 'DGN', 'RG', 'RG3', 'RG5', 'RGN']376: group4 = ['DG', 'DG3', 'DG5', 'DGN', 'RG', 'RG3', 'RG5', 'RGN']
377: group5 = ['DT', 'DT3', 'DT5', 'DTN', 'RU', 'RU3', 'RU5', 'RUN'] ## nothing to do377: group5 = ['DT', 'DT3', 'DT5', 'DTN', 'RU', 'RU3', 'RU5', 'RUN'] ## nothing to do
378: 378: 


r31026/setup.f 2016-08-16 15:30:15.023710781 +0100 r31025/setup.f 2016-08-16 15:30:16.267727344 +0100
582: C582: C
583: C  Check that the necessary coordinates are in fact present. 583: C  Check that the necessary coordinates are in fact present. 
584: C584: C
585:       IF ((.NOT.NOPOINTS).AND.(NATTEMPT.GT.0)) THEN585:       IF ((.NOT.NOPOINTS).AND.(NATTEMPT.GT.0)) THEN
586:           IF (AMHT) THEN586:           IF (AMHT) THEN
587:             WRITE(*,*) 'setup> AVOIDING MOMENT OF INITERIA CALC FOR AMH'587:             WRITE(*,*) 'setup> AVOIDING MOMENT OF INITERIA CALC FOR AMH'
588:           ELSE588:           ELSE
589:            DO J1=1,NMIN589:            DO J1=1,NMIN
590:             READ(UMIN,REC=J1) (LOCALPOINTS(J2),J2=1,NOPT)590:             READ(UMIN,REC=J1) (LOCALPOINTS(J2),J2=1,NOPT)
591:             CALL INERTIAWRAPPER(LOCALPOINTS,NOPT,angleAxis,IXM,IYM,IZM)591:             CALL INERTIAWRAPPER(LOCALPOINTS,NOPT,angleAxis,IXM,IYM,IZM)
592:             IF (DEBUG) WRITE(*,'(2F20.10,I6,3F20.10)') EMIN(J1),FVIBMIN(J1),HORDERMIN(J1),IXM,IYM,IZM592:             IF (PRINTT) WRITE(*,'(2F20.10,I6,3F20.10)') EMIN(J1),FVIBMIN(J1),HORDERMIN(J1),IXM,IYM,IZM
593:             IF ((ABS(IXM-IXMIN(J1)).GT.IDIFFTOL).OR.593:             IF ((ABS(IXM-IXMIN(J1)).GT.IDIFFTOL).OR.
594:      1          (ABS(IYM-IYMIN(J1)).GT.IDIFFTOL).OR.594:      1          (ABS(IYM-IYMIN(J1)).GT.IDIFFTOL).OR.
595:      1          (ABS(IZM-IZMIN(J1)).GT.IDIFFTOL)) THEN595:      1          (ABS(IZM-IZMIN(J1)).GT.IDIFFTOL)) THEN
596:                WRITE(*,'(A,I10)') 'setup> WARNING - principal moments of inertia do not agree with input for minimum ',J1596:                WRITE(*,'(A,I10)') 'setup> WARNING - principal moments of inertia do not agree with input for minimum ',J1
597:                WRITE(*,'(A,3F20.10)') 'setup> values from coordinates: ',IXM,IYM,IZM597:                WRITE(*,'(A,3F20.10)') 'setup> values from coordinates: ',IXM,IYM,IZM
598:                WRITE(*,'(A,2F20.10,I6,3F20.10)') 'setup> values from min.data: ', 598:                WRITE(*,'(A,2F20.10,I6,3F20.10)') 'setup> values from min.data: ', 
599:      &                     EMIN(J1),FVIBMIN(J1),HORDERMIN(J1),IXMIN(J1),IYMIN(J1),IZMIN(J1)599:      &                     EMIN(J1),FVIBMIN(J1),HORDERMIN(J1),IXMIN(J1),IYMIN(J1),IZMIN(J1)
600:                IXMIN(J1)=IXM600:                IXMIN(J1)=IXM
601:                IYMIN(J1)=IYM601:                IYMIN(J1)=IYM
602:                IZMIN(J1)=IZM602:                IZMIN(J1)=IZM


legend
Lines Added 
Lines changed
 Lines Removed

hdiff - version: 2.1.0