14real(8),
allocatable :: wq(:),gmr(:,:,:),gq(:,:),gp(:,:)
15complex(8),
allocatable :: dq(:,:),ev(:,:),b(:,:)
16complex(8),
allocatable :: gmq(:,:,:),gmp(:,:)
33 t1=sqrt(abs(gq(i,iq)))
35 b(i,j)=t1*conjg(ev(j,i))
38 call zgemm(
'N',
'N',
nbph,
nbph,
nbph,
zone,ev,
nbph,b,
nbph,
zzero,gmq(:,:,iq),
nbph)
55 call dynevs(ev,gmp,gp(:,iq))
60 if (t1 < gmin) gmin=t1
61 if (t1 > gmax) gmax=t1
68open(50,file=
'PHLWLINES.OUT',form=
'FORMATTED')
70 write(50,
'(2G18.10)')
dvp1d(iv),gmin
71 write(50,
'(2G18.10)')
dvp1d(iv),gmax
76open(50,file=
'PHLWIDTH.OUT',form=
'FORMATTED')
79 write(50,
'(2G18.10)')
dpp1d(iq),gp(i,iq)
85write(*,
'("Info(phlwidth):")')
86write(*,
'(" phonon linewidth dispersion written to PHLWIDTH.OUT")')
87write(*,
'(" vertex location lines written to PHLWLINES.OUT")')
88deallocate(wq,gmr,gq,gp,dq,ev,b,gmq,gmp)
subroutine dynev(dq, wq, ev)
subroutine dynevs(ev, dq, wq)
subroutine dynqtor(dq, dr)
subroutine dynrtoq(vpl, dr, dq)
complex(8), parameter zzero
real(8), dimension(3, 3) bvec
real(8), dimension(:,:), allocatable vvlp1d
complex(8), parameter zone
real(8), dimension(:,:), allocatable vplp1d
real(8), dimension(:), allocatable dvp1d
real(8), dimension(:), allocatable dpp1d
real(8), dimension(:,:,:), allocatable dynr
complex(8), dimension(:,:,:), allocatable dynq
subroutine plotpt1d(cvec, nv, np, vvl, vpl, dv, dp)