14integer nkpa0,ikpa,nthd
15integer ik0,ist,iv,iw,lp
16real(8) dw,emin,emax,t1
18real(8),
allocatable :: vvlp1d0(:,:),vql0(:,:)
19real(8),
allocatable :: w(:),chkpa(:,:),sfu(:,:)
20complex(8),
allocatable :: evecu(:,:)
22allocate(vvlp1d0(3,
nvp1d))
35allocate(vql0(3,nkpa0))
36vql0(1:3,1:nkpa0)=
vql(1:3,1:nkpa0)
41 w(iw)=dw*dble(iw-1)+
wplot(1)
53 write(*,κ
'("Info(bandstrulr): ",I6," of ",I6," -points")') ikpa,nkpa0
58 vvlp1d(1:3,iv)=vvlp1d0(1:3,iv)-vql0(1:3,ikpa)
88 write(*,
'("Info(bandstrulr): ",I6," of ",I6," k-points")') ik0,
nkpt0
93 call charkpa(ikpa,evecu,chkpa(:,ik0))
95 call sfuadd(ik0,w,chkpa(:,ik0),sfu(:,ik0))
113 open(50,file=
'BANDULR.OUT',form=
'FORMATTED',action=
'WRITE', &
117 write(50,
'(3G18.10)')
dpp1d(ik0),
evalu(ist,ik0),chkpa(ist,ik0)
125 emin=minval(
evalu(:,:))
126 emax=maxval(
evalu(:,:))
127 open(50,file=
'BANDLINES.OUT',form=
'FORMATTED',action=
'WRITE')
129 write(50,
'(2G18.10)')
dvp1d(iv),emin
130 write(50,
'(2G18.10)')
dvp1d(iv),emax
140call mpi_allreduce(mpi_in_place,sfu,
nwplot*
nkpt0,mpi_double_precision,mpi_sum, &
147 open(50,file=
'BANDSFU.OUT',form=
'FORMATTED')
151 write(50,
'(3G18.10)')
dpp1d(ik0),w(iw),sfu(iw,ik0)
156 write(*,
'("Info(bandstrulr):")')
157 write(*,
'(" Ultra long-range band structure plot written to BANDULR.OUT")')
158 write(*,
'(" Plotted k-point character written in third column")')
160 write(*,
'(" Vertex location lines written to BANDLINES.OUT")')
162 write(*,
'(" Ultra long-range spectral function band structure written to &
165deallocate(vvlp1d0,vql0,w,chkpa,sfu)
real(8), dimension(:,:), allocatable vvlp1d
real(8), dimension(2) wplot
real(8), dimension(:,:), allocatable vql
real(8), dimension(:), allocatable dvp1d
real(8), dimension(:), allocatable dpp1d