6subroutine genvfxc(tq0,t3hw,gclgq,nm,vchi0,eps0,epsi,vfxc)
11logical,
intent(in) :: tq0,t3hw
12real(8),
intent(in) :: gclgq(ngrf)
13integer,
intent(in) :: nm
14complex(8),
intent(in) :: vchi0(nm,nm,nwrf)
15complex(8),
intent(in) :: eps0(nm,nm,nwrf)
16complex(8),
intent(in) :: epsi(nm,nm,nwrf)
17complex(8),
intent(out) :: vfxc(nm,nm,nwrf)
22complex(8),
allocatable :: a(:,:)
27 vfxc(1:nm,1:nm,1:nwrf)=0.d0
31 if (tq0.and.t3hw)
then
34 vfxc(1:3,1:nm,1:nwrf)=0.d0
35 vfxc(4:,1:3,1:nwrf)=0.d0
41 vfxc(1:nm,1:nm,1:nwrf)=0.d0
47 vfxc(1:nm,1:nm,1:nwrf)=0.d0
48 if (tq0.and.t3hw)
then
49 z1=(eps0(1,1,1)+eps0(2,2,1)+eps0(3,3,1))/3.d0
56 vfxc(i,j,1:nwrf)=z1*epsi(i,j,1)
61 write(*,
'("Error(genvfxc): fxctype not defined : ",3I8)')
fxctype
68 a(1:nm,1:nm)=vfxc(1:nm,1:nm,iw)
69 call zgemm(
'N',
'N',nm,nm,nm,
zone,a,nm,vchi0(:,:,iw),nm,
zzero,vfxc(:,:,iw),nm)
subroutine genvfxc(tq0, t3hw, gclgq, nm, vchi0, eps0, epsi, vfxc)
complex(8), parameter zzero
complex(8), parameter zone
real(8), parameter fourpi
complex(8), dimension(:), allocatable wrf