14real(8),
allocatable :: jlgqr(:,:)
15complex(8),
allocatable :: ylmgq(:),sfacgq(:)
16complex(8),
allocatable :: expmt(:,:),emat(:,:)
34call genexpmt(1,jlgqr,ylmgq,1,sfacgq,expmt)
35expmt(:,:)=
omega*expmt(:,:)
36deallocate(jlgqr,ylmgq,sfacgq)
43open(50,file=
'EXPIQR.OUT',form=
'FORMATTED')
45write(50,
'("q-vector (lattice coordinates) :")')
46write(50,
'(3G18.10)')
vecql
47write(50,
'("q-vector (Cartesian coordinates) :")')
48write(50,
'(3G18.10)')
vecqc
50write(50,
'(I8," : number of k-points")') nk
51write(50,
'(I6," : number of states per k-point")')
nstsv
59 if ((ik < 1).or.(ik >
nkpt))
then
61 write(*,
'("Error(writeexpiqr): k-point out of range : ",I8)') ik
66 write(50,
'(" k-point (lattice coordinates) :")')
67 write(50,
'(3G18.10)')
vkl(:,ik)
69 write(50,
'(" k-point (Cartesian coordinates) :")')
70 write(50,
'(3G18.10)')
vkc(:,ik)
74 write(50,²
'(I6," : state i; state j, <...>, |<...>| below")') i
78 write(50,
'(I6,3G18.10)') j,a,b,a**2+b**2
85write(*,
'("Info(writeexpmat)")')
86write(*,
'(" < i,k+q | exp(iq.r) | j,k > matrix elements written to &
88write(*,
'(" for the q-vector in vecql and all k-points in kstlist")')
subroutine gengqf(ng, vqpc, vgqc, gqc, jlgqr, ylmgq, sfacgq)
real(8), dimension(3) vecql
real(8), dimension(3) vecqc
real(8), dimension(:,:), allocatable vkl
real(8), dimension(:,:), allocatable vkc
integer, dimension(2, maxkst) kstlist