11integer,
intent(in) :: ik
12complex(8),
intent(out) :: kmat(nstsv,nstsv)
20 call getrd(
'KMAT.OUT',ik,tgs,v1=vkl_,n1=nstsv_,nzv=nstsv*nstsv,zva=kmat)
24inquire(iolength=recl) vkl_,nstsv_,kmat
25open(220,
file=
'KMAT.OUT',form=
'UNFORMATTED',access=
'DIRECT',recl=recl)
26read(220,rec=ik) vkl_,nstsv_,kmat
30t1=abs(
vkl(1,ik)-vkl_(1))+abs(
vkl(2,ik)-vkl_(2))+abs(
vkl(3,ik)-vkl_(3))
33 write(*,
'("Error(getkmat): differing vectors for k-point ",I8)') ik
34 write(*,
'(" current : ",3G18.10)')
vkl(:,ik)
35 write(*,
'(" KMAT.OUT : ",3G18.10)') vkl_
39if (nstsv /= nstsv_)
then
41 write(*,
'("Error(getkmat): differing nstsv for k-point ",I8)') ik
42 write(*,
'(" current : ",I8)') nstsv
43 write(*,
'(" KMAT.OUT : ",I8)') nstsv_
real(8), dimension(:,:), allocatable vkl
subroutine getrd(fname, irec, tgs, n1, n2, n3, v1, v2, nrv, rva, nzv, zva)