16 real(8),
allocatable :: w(:),wt(:),jt(:,:)
17 complex(8),
allocatable :: ew(:,:),jw(:,:),eps(:)
27 w(iw)=w1+t1*dble(iw-1)
44 ew(iw,i)=t0*w(iw)*cmplx(z1%im,-z1%re,8)
63 t1=dot_product(wt(:),jt(i,:))
71 call zftft(w,wt,3,jt(i,1),jw(:,i))
83 t1=abs(z2%re)+abs(z2%im)
89 z1=
fourpi*cmplx(-z1%im,z1%re,8)/(w(iw)+eta)
90 if (i == j) z1=z1+1.d0
95 write(fname,
'("EPSILON_TDRT_",2I1,".OUT")') i,j
96 open(50,file=trim(fname),form=
'FORMATTED')
98 write(50,
'(2G18.10)') w(iw),dble(eps(iw))
102 write(50,
'(2G18.10)') w(iw),aimag(eps(iw))
108 open(50,file=
'JTOTW.OUT',form=
'FORMATTED')
111 write(50,
'(3G18.10)') w(iw),jw(iw,i)
117 write(*,
'("Info(dielectric_tdrt):")')
118 write(*,
'(" dielectric tensor determined from real-time evolution")')
119 write(*,
'(" written to EPSILON_TDRT_ij.OUT for components i,j = 1,2,3")')
121 write(*,
'(" (Note that only those components which are not orthogonal to the")')
122 write(*,
'(" applied A-field will be calculated correctly)")')
124 write(*,
'(" Fourier transform of total current J(ω) written to JTOTW.OUT")')
125 deallocate(w,ew,jw,eps)
subroutine zftft(w, wt, ld, ft, fw)
subroutine dielectric_tdrt
real(8), dimension(2) wplot
real(8), dimension(:,:), allocatable afieldt
subroutine zlrzncnv(n, s, w, zf)
real(8), dimension(:), allocatable times
subroutine wsplint(n, x, w)
real(8), parameter fourpi