hdiff output

r31889/minpermdist.f90 2017-02-07 15:30:09.374032607 +0000 r31888/minpermdist.f90 2017-02-07 15:30:09.606035682 +0000
378: DUMMYA(1:3*NATOMS)=COORDSA(1:3*NATOMS)378: DUMMYA(1:3*NATOMS)=COORDSA(1:3*NATOMS)
379: DUMMYB(1:3*NATOMS)=COORDSB(1:3*NATOMS)379: DUMMYB(1:3*NATOMS)=COORDSB(1:3*NATOMS)
380: DBEST=1.0D100380: DBEST=1.0D100
381: CALL NEWMINDIST(DUMMYB,DUMMYA,NATOMS,DISTANCE,BULKT,TWOD,'AX    ',.FALSE.,RIGID,DEBUG,RMAT)381: CALL NEWMINDIST(DUMMYB,DUMMYA,NATOMS,DISTANCE,BULKT,TWOD,'AX    ',.FALSE.,RIGID,DEBUG,RMAT)
382: DBEST=DISTANCE**2382: DBEST=DISTANCE**2
383: 383: 
384: IF (DEBUG) PRINT '(A,G20.10)',' minpermdist> Initial distance before standard orientation=',DISTANCE384: IF (DEBUG) PRINT '(A,G20.10)',' minpermdist> Initial distance before standard orientation=',DISTANCE
385: 385: 
386: ! If global translation is possible (i.e. no frozen atoms and not periodic boundary conditions) then386: ! If global translation is possible (i.e. no frozen atoms and not periodic boundary conditions) then
387: ! translate the origin of structure A to the CoM of structure B.387: ! translate the origin of structure A to the CoM of structure B.
388: ! NB: global translation is possible with PBCs, but there is no well-defined CoM and so there's no point 
389: ! performing this translation. 
390: IF ((NFREEZE.GT.0).OR.BULKT.OR.MIEFT.OR.MKTRAPT.OR.NOTRANSROTT) THEN388: IF ((NFREEZE.GT.0).OR.BULKT.OR.MIEFT.OR.MKTRAPT.OR.NOTRANSROTT) THEN
391:    XBEST(1:3*NATOMS)=DUMMYA(1:3*NATOMS)389:    XBEST(1:3*NATOMS)=DUMMYA(1:3*NATOMS)
392: ELSE IF (STOCKT) THEN390: ELSE IF (STOCKT) THEN
393:    DO J1=1,(NATOMS/2)391:    DO J1=1,(NATOMS/2)
394:       XBEST(3*(J1-1)+1)=DUMMYA(3*(J1-1)+1)-CMBX392:       XBEST(3*(J1-1)+1)=DUMMYA(3*(J1-1)+1)-CMBX
395:       XBEST(3*(J1-1)+2)=DUMMYA(3*(J1-1)+2)-CMBY393:       XBEST(3*(J1-1)+2)=DUMMYA(3*(J1-1)+2)-CMBY
396:       XBEST(3*(J1-1)+3)=DUMMYA(3*(J1-1)+3)-CMBZ394:       XBEST(3*(J1-1)+3)=DUMMYA(3*(J1-1)+3)-CMBZ
397:    ENDDO395:    ENDDO
398: ELSE396: ELSE
399:    DO J1=1,NATOMS397:    DO J1=1,NATOMS
424:    NCHOOSEB1=0422:    NCHOOSEB1=0
425: 66 NCHOOSEB1=NCHOOSEB1+1423: 66 NCHOOSEB1=NCHOOSEB1+1
426:    NCHOOSEB2=0424:    NCHOOSEB2=0
427: 31 NCHOOSEB2=NCHOOSEB2+1425: 31 NCHOOSEB2=NCHOOSEB2+1
428:    NCHOOSE1=0426:    NCHOOSE1=0
429: 65 NCHOOSE1=NCHOOSE1+1427: 65 NCHOOSE1=NCHOOSE1+1
430:    NCHOOSE2=0428:    NCHOOSE2=0
431: 30 NCHOOSE2=NCHOOSE2+1429: 30 NCHOOSE2=NCHOOSE2+1
432: OPNUM=0430: OPNUM=0
433: IF (BMTEST) THEN431: IF (BMTEST) THEN
434: ! sn402: I'm considering replacing the following line with BMDIST=DISTANCE, which would mean that we don't use432:  BMDIST=HUGE(1.0D0)
435: ! the ATOMMATCHDIST-aligned structure unless it gives an improvement over the initial distance. However, I'm not sure433:  BMCOORDS(1:3*NATOMS)=COORDSA(1:3*NATOMS)
436: ! that the returned coordinates are necessarily correct if that is the case. 
437: ! BMDIST=HUGE(1.0D0) 
438: ! BMCOORDS(1:3*NATOMS)=COORDSA(1:3*NATOMS) 
439: BMDIST=DISTANCE 
440: BMCOORDS(1:3*NATOMS)=XBEST(1:3*NATOMS) 
441: ENDIF434: ENDIF
442: TNMATCH=.FALSE. 435: TNMATCH=.FALSE. 
443: 25 OPNUM=OPNUM+1 ! Point group operation counter for Oh supercell if OHCELLT is true.436: 25 OPNUM=OPNUM+1 ! Point group operation counter for Oh supercell if OHCELLT is true.
444: DUMMYB(1:3*NATOMS)=COORDSB(1:3*NATOMS)437: DUMMYB(1:3*NATOMS)=COORDSB(1:3*NATOMS)
445: IF (OHCELLT) THEN438: IF (OHCELLT) THEN
446:    IF (DEBUG) PRINT '(A,I8)',' minpermdist> Trying Oh symmetry operation number ',OPNUM439:    IF (DEBUG) PRINT '(A,I8)',' minpermdist> Trying Oh symmetry operation number ',OPNUM
447:    CALL OHOPS(COORDSA,DUMMYA,OPNUM,NATOMS)440:    CALL OHOPS(COORDSA,DUMMYA,OPNUM,NATOMS)
448: ELSE441: ELSE
449:    DUMMYA(1:3*NATOMS)=COORDSA(1:3*NATOMS)442:    DUMMYA(1:3*NATOMS)=COORDSA(1:3*NATOMS)
450: ENDIF443: ENDIF
574:                 PRINT '(2(A,F25.15))',' final   energy for structure B=             ',ENERGY,' RMS=',RMS567:                 PRINT '(2(A,F25.15))',' final   energy for structure B=             ',ENERGY,' RMS=',RMS
575:                 IF (ABS(ENERGY-BINIT).GT.2*EDIFFTOL) THEN568:                 IF (ABS(ENERGY-BINIT).GT.2*EDIFFTOL) THEN
576:                    PRINT '(A)',' minpermdist> ERROR *** energy change for structure B is outside tolerance'569:                    PRINT '(A)',' minpermdist> ERROR *** energy change for structure B is outside tolerance'
577:                    STOP570:                    STOP
578:                 ENDIF571:                 ENDIF
579:              ENDIF572:              ENDIF
580: 573: 
581:              RETURN574:              RETURN
582:             ENDIF575:             ENDIF
583:          ELSE576:          ELSE
584:             WRITE(*,*) "minpermdist> Error in BMTEST (atom-matching) block."! Stopping now"577:             WRITE(*,*) "minpermdist> Error in BMTEST (atom-matching) block. Stopping now"
585:             !STOP578:             STOP
586:          ENDIF579:          ENDIF
587:       ELSE580:       ELSE
588:          CALL NEWMINDIST(DUMMYB,DUMMYA,NATOMS,DISTANCE,BULKT,TWOD,'AX    ',.FALSE.,RIGID,DEBUG,RMAT)581:          CALL NEWMINDIST(DUMMYB,DUMMYA,NATOMS,DISTANCE,BULKT,TWOD,'AX    ',.FALSE.,RIGID,DEBUG,RMAT)
589:          IF (DEBUG) PRINT '(A,G20.10)',' minpermdist> after initial call to BULK/NEWMINDIST distance=',DISTANCE582:          IF (DEBUG) PRINT '(A,G20.10)',' minpermdist> after initial call to BULK/NEWMINDIST distance=',DISTANCE
590:          DISTANCE=DISTANCE**2 ! minperdist returns the distance squared for historical reasons583:          DISTANCE=DISTANCE**2 ! minperdist returns the distance squared for historical reasons
591:       ENDIF584:       ENDIF
592:    ELSEIF (MKTRAPT) THEN585:    ELSEIF (MKTRAPT) THEN
593:       TMAT(1:3,1:3)=0.0D0586:       TMAT(1:3,1:3)=0.0D0
594:       TMAT(1,1)=INVERT*1.0D0; TMAT(2,2)=INVERT*1.0D0; TMAT(3,3)=INVERT*1.0D0587:       TMAT(1,1)=INVERT*1.0D0; TMAT(2,2)=INVERT*1.0D0; TMAT(3,3)=INVERT*1.0D0
595:       NORBIT1=1; NORBIT2=1; NORBITB1=1; NORBITB2=1;588:       NORBIT1=1; NORBIT2=1; NORBITB1=1; NORBITB2=1;


legend
Lines Added 
Lines changed
 Lines Removed

hdiff - version: 2.1.0