Commit d43bc415 authored by Frank Freimuth's avatar Frank Freimuth

Update anglso.f90: Added optional argument "compo": Only used in

wannier-interpolation of SOC.
parent 2a7ca66d
MODULE m_anglso
contains
COMPLEX FUNCTION anglso(theta,phi,l1,m1,is1,l2,m2,is2)
COMPLEX FUNCTION anglso(theta,phi,l1,m1,is1,l2,m2,is2,compo)
USE m_juDFT
!
! calculates spin-orbit matrix for theta,phi =/= 0
......@@ -9,6 +9,7 @@ contains
! ..
! .. Scalar Arguments ..
INTEGER, INTENT(IN) :: is1,is2,l1,l2,m1,m2
INTEGER, INTENT(IN),OPTIONAL :: compo
REAL, INTENT(IN) :: theta,phi
! ..
! .. Local Scalars ..
......@@ -63,6 +64,29 @@ contains
ELSE IF (m1.EQ.m2 ) THEN
xlz = m2
END IF
IF(PRESENT(compo))THEN
! Used for the wannier-interpolation of SOC:
! wann_socmat_vec allow us to
! add SOC during the wannier-interpolation.
! Therefore, theta and phi are specified during the
! Wannier-interpolation step and not here.
! Therefore, write out only xlz, xlpl, and xlmn and RETURN
! afterwards, without using theta and phi.
! xlz, xlpl and xlmn are needed in subroutine wann_socmat_vec.F
if(compo.eq.1)then
anglso = CMPLX(xlz,0.0)
elseif(compo.eq.2)then
anglso = CMPLX(xlmn,0.0)
elseif(compo.eq.3)then
anglso = CMPLX(xlpl,0.0)
else
CALL juDFT_error("maucompo",calledby ="anglso")
endif
RETURN
END IF
!
! rotated spin-orbit angular matrix
! <1| |1> or <2| |2>
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment