hdiff output

r29558/genrigid.f90 2015-12-03 17:30:12.823244313 +0000 r29557/genrigid.f90 2015-12-03 17:30:13.211249407 +0000
752:         DR2(:) = MATMUL(DRMI2,SITESRIGIDBODY(J2,:,J1))752:         DR2(:) = MATMUL(DRMI2,SITESRIGIDBODY(J2,:,J1))
753:         DR3(:) = MATMUL(DRMI3,SITESRIGIDBODY(J2,:,J1))753:         DR3(:) = MATMUL(DRMI3,SITESRIGIDBODY(J2,:,J1))
754:         GR(3*NRIGIDBODY+3*J1-2) = GR(3*NRIGIDBODY+3*J1-2) + DOT_PRODUCT(G(3*J9-2:3*J9),DR1(:))754:         GR(3*NRIGIDBODY+3*J1-2) = GR(3*NRIGIDBODY+3*J1-2) + DOT_PRODUCT(G(3*J9-2:3*J9),DR1(:))
755:         GR(3*NRIGIDBODY+3*J1-1) = GR(3*NRIGIDBODY+3*J1-1) + DOT_PRODUCT(G(3*J9-2:3*J9),DR2(:))755:         GR(3*NRIGIDBODY+3*J1-1) = GR(3*NRIGIDBODY+3*J1-1) + DOT_PRODUCT(G(3*J9-2:3*J9),DR2(:))
756:         GR(3*NRIGIDBODY+3*J1)   = GR(3*NRIGIDBODY+3*J1)   + DOT_PRODUCT(G(3*J9-2:3*J9),DR3(:))756:         GR(3*NRIGIDBODY+3*J1)   = GR(3*NRIGIDBODY+3*J1)   + DOT_PRODUCT(G(3*J9-2:3*J9),DR3(:))
757:      ENDDO757:      ENDDO
758:   ENDDO758:   ENDDO
759: 759: 
760: ! hk286 - testing 6/6/12760: ! hk286 - testing 6/6/12
761:   IF (FREEZERIGIDBODYT .EQV. .TRUE.) THEN761:   IF (FREEZERIGIDBODYT .EQV. .TRUE.) THEN
762:   write(*,*) "Danger: in frozen block" 
763:      GR(3*NRIGIDBODY-2:3*NRIGIDBODY) = 0.0D0762:      GR(3*NRIGIDBODY-2:3*NRIGIDBODY) = 0.0D0
764:      GR(6*NRIGIDBODY-2:6*NRIGIDBODY) = 0.0D0763:      GR(6*NRIGIDBODY-2:6*NRIGIDBODY) = 0.0D0
765:   ENDIF764:   ENDIF
766: 765: 
767: ! hk286 > single atoms766: ! hk286 > single atoms
768: ! vr274 > and lattice767: ! vr274 > and lattice
769:   IF (DEGFREEDOMS > 6 * NRIGIDBODY - NLATTICECOORDS) THEN768:   IF (DEGFREEDOMS > 6 * NRIGIDBODY - NLATTICECOORDS) THEN
770:   write(*,*) "Danger: in single atom block" 
771:      DO J1 = 1, (DEGFREEDOMS - 6*NRIGIDBODY - NLATTICECOORDS)/3769:      DO J1 = 1, (DEGFREEDOMS - 6*NRIGIDBODY - NLATTICECOORDS)/3
772:         J9 = RIGIDSINGLES(J1)770:         J9 = RIGIDSINGLES(J1)
773:         GR(6*NRIGIDBODY + 3*J1-2:6*NRIGIDBODY + 3*J1) = G(3*J9-2:3*J9)771:         GR(6*NRIGIDBODY + 3*J1-2:6*NRIGIDBODY + 3*J1) = G(3*J9-2:3*J9)
774:      ENDDO772:      ENDDO
775:   ENDIF773:   ENDIF
776: 774: 
777:   IF(HAS_LATTICE_COORDS) THEN775:   IF(HAS_LATTICE_COORDS) THEN
778:   write(*,*) "Danger: in lattice coord block" 
779:       CALL GET_LATTICE_MATRIX(XR(DEGFREEDOMS-5:DEGFREEDOMS),MLATTICE)776:       CALL GET_LATTICE_MATRIX(XR(DEGFREEDOMS-5:DEGFREEDOMS),MLATTICE)
780: 777: 
781:       ! vr274> for lattice, go to reduced coordinates778:       ! vr274> for lattice, go to reduced coordinates
782:       DO J1 = 1, NRIGIDBODY779:       DO J1 = 1, NRIGIDBODY
783:           GR(3*J1-2:3*J1) =  matmul(transpose(mlattice), GR(3*J1-2:3*J1))780:           GR(3*J1-2:3*J1) =  matmul(transpose(mlattice), GR(3*J1-2:3*J1))
784:       ENDDO781:       ENDDO
785:       ! vr274> and single atoms782:       ! vr274> and single atoms
786:       IF (DEGFREEDOMS > 6 * NRIGIDBODY + NLATTICECOORDS) THEN783:       IF (DEGFREEDOMS > 6 * NRIGIDBODY + NLATTICECOORDS) THEN
787:           DO J1 = 1, (DEGFREEDOMS - 6*NRIGIDBODY - NLATTICECOORDS)/3784:           DO J1 = 1, (DEGFREEDOMS - 6*NRIGIDBODY - NLATTICECOORDS)/3
788:               J2 = 6*NRIGIDBODY + 3*J1785:               J2 = 6*NRIGIDBODY + 3*J1


r29558/rotations.f90 2015-12-03 17:30:13.011246781 +0000 r29557/rotations.f90 2015-12-03 17:30:13.403251929 +0000
149:             q(4) = 0.25d0 * s149:             q(4) = 0.25d0 * s
150:         endif150:         endif
151: 151: 
152:         if(q(1) < 0) q = -q152:         if(q(1) < 0) q = -q
153:     end function153:     end function
154: 154: 
155:     ! convert matrix to angle axis155:     ! convert matrix to angle axis
156:     function rot_mx2aa(m) result(p)156:     function rot_mx2aa(m) result(p)
157:         implicit none157:         implicit none
158:         double precision, intent(in) :: m(3,3)158:         double precision, intent(in) :: m(3,3)
159:         double precision :: p(3), temp(4)159:         double precision :: p(3)
160:  
161:         temp = rot_mx2q(m) 
162:         p = rot_q2aa(temp) 
163: 160: 
 161:         p = rot_q2aa(rot_mx2q(m))
164:     end function162:     end function
165: 163: 
166:     ! uniform random rotation in angle axis formulation164:     ! uniform random rotation in angle axis formulation
167:     ! input: 3 uniformly distributed random numbers165:     ! input: 3 uniformly distributed random numbers
168:     ! uses the algorithm given in166:     ! uses the algorithm given in
169:     !  K. Shoemake, Uniform random rotations, Graphics Gems III, pages 124-132. Academic, New York, 1992.167:     !  K. Shoemake, Uniform random rotations, Graphics Gems III, pages 124-132. Academic, New York, 1992.
170:     ! This first generates a random rotation in quaternion representation. We should substitute this by168:     ! This first generates a random rotation in quaternion representation. We should substitute this by
171:     ! a direct angle axis generation, but be careful: the angle of rotation in angle axis representation169:     ! a direct angle axis generation, but be careful: the angle of rotation in angle axis representation
172:     ! is NOT uniformly distributed170:     ! is NOT uniformly distributed
173:     function rot_random_q() result(q)171:     function rot_random_q() result(q)


legend
Lines Added 
Lines changed
 Lines Removed

hdiff - version: 2.1.0