[Wien] rotation operator

Yongbin Lee yblee at iastate.edu
Fri Jul 6 16:50:18 CEST 2007


Dear All,
 I got a question about rotation matrix. Probably I missed basic components.
 In "rotdef.f(SRC_lapw2,etc.)", "outmat.f(SRC_optic)", transpose matrix of
symmetry operators are used for new rotated vectors.

  ---> from rotdef.f
            DO I=1,IORD
           x(1:3)=0.d0
           x=MATMUL(TRANSPOSE(iz(1:3,1:3,i)),pos(1:3,index1))
           x(1:3)=x(1:3)+tau(1:3,i)
           x1(1:3)=MOD(ABS(X(1:3)-POS(1:3,INDEX))+toler,one)-toler

  ----> from SRC_optic/outmat.f
         do   i=1,3
         do  ii=1,3
         o1(i)=o1(i)+opIMAT(ii,i,l)*O(ii)
         end do
         end do

However in l2main.f (SRC_qtl), just matrix of symmetry operators are used.

  ----> from SRC_qtl/l2main.f
        BK(1)=BKX(I)
        BK(2)=BKY(I)
        BK(3)=BKZ(I)
   -->  CALL ROTATE (BK,TMAT(1,1,mu),BKROT)
        BK(1)=BKROT(1)*BR1(1,1)+BKROT(2)*BR1(1,2)+BKROT(3)*BR1(1,3)
        BK(2)=BKROT(1)*BR1(2,1)+BKROT(2)*BR1(2,2)+BKROT(3)*BR1(2,3)
        BK(3)=BKROT(1)*BR1(3,1)+BKROT(2)*BR1(3,2)+BKROT(3)*BR1(3,3)
   -->  CALL ROTATE (BK,ROTLOC(1,1,JATOM),BKRLOC)
        CALL YLM (BKRLOC,LMAX2,YL)

      SUBROUTINE ROTATE (VECTOR,ROTMAT,ROTVEC)

      DO 10 JCOORD=1,3
         DOTPRO=0.0D0
         DO 20 J=1,3
            DOTPRO=DOTPRO + VECTOR(J)*ROTMAT(JCOORD,J)
 20      CONTINUE
         ROTVEC(JCOORD)=DOTPRO
 10   CONTINUE
      RETURN
      END

I couldn't see why they should be different. Could anyone help me see it?

 Regards
 Yongbin
 







More information about the Wien mailing list