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