[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