hdiff output

r29846/newmindist.f90 2016-07-06 15:38:45.881797691 +0100 r29845/newmindist.f90 2016-07-06 15:38:46.245802621 +0100
 21: !   closest geometry to RA if PRESERVET is .FALSE. 21: !   closest geometry to RA if PRESERVET is .FALSE.
 22: ! 22: !
 23: !   New analytic method based on quaterions from 23: !   New analytic method based on quaterions from
 24: !   Kearsley, Acta Cryst. A, 45, 208-210, 1989. 24: !   Kearsley, Acta Cryst. A, 45, 208-210, 1989.
 25: ! 25: !
 26: ! jmc As long as zsym isn't 'W' (in which case mind does something special) mind 26: ! jmc As long as zsym isn't 'W' (in which case mind does something special) mind
 27: ! doesn't care what atomic symbol we give it. 27: ! doesn't care what atomic symbol we give it.
 28: ! 28: !
 29: SUBROUTINE NEWMINDIST(RA,RB,NATOMS,DIST,BULKT,TWOD,ZUSE,PRESERVET,ANGLEAXIS,DEBUG,RMAT) 29: SUBROUTINE NEWMINDIST(RA,RB,NATOMS,DIST,BULKT,TWOD,ZUSE,PRESERVET,ANGLEAXIS,DEBUG,RMAT)
 30: use rigidbodymod 30: use rigidbodymod
 31: USE COMMONS,ONLY : FREEZE, BOXLX, BOXLY, BOXLZ, RBAAT, PULLT, TRAPT, USERPOTT, GTHOMSONT, GTHOMMET, MKTRAPT ! hk286 31: USE COMMONS,ONLY : FREEZE, BOXLX, BOXLY, BOXLZ, RBAAT, PULLT, TRAPT, USERPOTT, GTHOMSONT, GTHOMMET ! hk286
 32: IMPLICIT NONE 32: IMPLICIT NONE
 33: INTEGER J1, NATOMS, NSIZE, INFO, JINFO, JMIN 33: INTEGER J1, NATOMS, NSIZE, INFO, JINFO, JMIN
 34: DOUBLE PRECISION RA(3*NATOMS), RB(3*NATOMS), DIST, QMAT(4,4), XM, YM, ZM, XP, YP, ZP, OVEC(3), H1VEC(3), H2VEC(3), & 34: DOUBLE PRECISION RA(3*NATOMS), RB(3*NATOMS), DIST, QMAT(4,4), XM, YM, ZM, XP, YP, ZP, OVEC(3), H1VEC(3), H2VEC(3), &
 35:   &              DIAG(4), TEMPA(9*NATOMS), RMAT(3,3), MINV, Q1, Q2, Q3, Q4, CMXA, CMYA, CMZA, CMXB, CMYB, CMZB, & 35:   &              DIAG(4), TEMPA(9*NATOMS), RMAT(3,3), MINV, Q1, Q2, Q3, Q4, CMXA, CMYA, CMZA, CMXB, CMYB, CMZB, &
 36:   &              NCMXB, NCMYB, NCMZB, ROTMAT(3,3), OMEGATOT(3,3) 36:   &              NCMXB, NCMYB, NCMZB, ROTMAT(3,3), OMEGATOT(3,3)
 37: DOUBLE PRECISION :: COCA(3), COCB(3) 37: DOUBLE PRECISION :: COCA(3), COCB(3)
 38: DOUBLE PRECISION, ALLOCATABLE :: XA(:), XB(:), TEMPCOORDS(:,:) 38: DOUBLE PRECISION, ALLOCATABLE :: XA(:), XB(:), TEMPCOORDS(:,:)
 39: COMMON /MINDOM/ ROTMAT, OMEGATOT 39: COMMON /MINDOM/ ROTMAT, OMEGATOT
 40: LOGICAL, INTENT(IN) :: BULKT, TWOD, PRESERVET, DEBUG, ANGLEAXIS 40: LOGICAL, INTENT(IN) :: BULKT, TWOD, PRESERVET, DEBUG, ANGLEAXIS
 41: LOGICAL UPRETURN 41: LOGICAL UPRETURN
 42: CHARACTER(LEN=5) ZUSE 42: CHARACTER(LEN=5) ZUSE
 43: INTEGER NCIT 43: INTEGER NCIT
 44: DOUBLE PRECISION XSHIFT, YSHIFT, ZSHIFT, XSHIFTNEW, YSHIFTNEW, ZSHIFTNEW 44: DOUBLE PRECISION XSHIFT, YSHIFT, ZSHIFT, XSHIFTNEW, YSHIFTNEW, ZSHIFTNEW
 45:  45: 
 46: IF (RBAAT) THEN 46: IF (RBAAT) THEN
 47:  47: 
 48:    CALL RBMINDIST(RA,RB,NATOMS,DIST,RMAT,DEBUG) 48:    CALL RBMINDIST(RA,RB,NATOMS,DIST,RMAT,DEBUG)
 49:    RETURN 49:    RETURN
 50:  50: 
 51: ELSEIF (MKTRAPT) THEN 
 52:    DIST=0.0D0 
 53:    DO J1=1,3*NATOMS 
 54:       DIST=DIST+(RA(J1)-RB(J1))**2 
 55:    ENDDO 
 56:    DIST=SQRT(DIST) 
 57:    RETURN 
 58:  
 59: ELSEIF (USERPOTT) THEN 51: ELSEIF (USERPOTT) THEN
 60: ! 52: !
 61: ! Substitute a real routine for calculating the distance between two 53: ! Substitute a real routine for calculating the distance between two
 62: ! configurations. 54: ! configurations.
 63: ! 55: !
 64:    call quaternionMatch2 (NATOMS, RA, RB, dist) 56:    call quaternionMatch2 (NATOMS, RA, RB, dist)
 65:    dist = sqrt(dist) 57:    dist = sqrt(dist)
 66:    RMAT(1:3,1:3)=0.0D0 ! rotation matrix is the identity 58:    RMAT(1:3,1:3)=0.0D0 ! rotation matrix is the identity
 67:    RMAT(1,1)=1.0D0; RMAT(2,2)=1.0D0; RMAT(3,3)=1.0D0 59:    RMAT(1,1)=1.0D0; RMAT(2,2)=1.0D0; RMAT(3,3)=1.0D0
 68:    UPRETURN=.TRUE. 60:    UPRETURN=.TRUE.


legend
Lines Added 
Lines changed
 Lines Removed

hdiff - version: 2.1.0