6subroutine cpotcoul(nrmt_,nrmti_,npmt_,ld1,rl,ngridg_,igfft_,ngp,gpc,gclgp,ld2,&
7 jlgprmt,ylmgp,sfacgp,crhoir,ld3,cvclmt,cvclir)
12integer,
intent(in) :: nrmt_(nspecies),nrmti_(nspecies),npmt_(nspecies)
13integer,
intent(in) :: ld1
14real(8),
intent(in) :: rl(ld1,-lmaxo-1:lmaxo+2,nspecies)
15integer,
intent(in) :: ngridg_(3),igfft_(*),ngp
16real(8),
intent(in) :: gpc(ngp),gclgp(ngp)
17integer,
intent(in) :: ld2
18real(8),
intent(in) :: jlgprmt(0:lnpsd,ld2,nspecies)
19complex(8),
intent(in) :: ylmgp(lmmaxo,ngp),sfacgp(ld2,natmtot)
20complex(4),
intent(in) :: crhoir(*)
21integer,
intent(in) :: ld3
22complex(4),
intent(inout) :: cvclmt(ld3,natmtot)
23complex(4),
intent(out) :: cvclir(*)
33complex(8) qlm(lmmaxo,natmtot),zlm(lmmaxo)
35real(8),
external :: factn2
42 t2=t1*dble(2*l+1)*
rmtl(l+1,is)
43 lma=l**2+1; lmb=lma+2*l
44 qlm(lma:lmb,ias)=t2*cvclmt(i+lma:i+lmb,ias)
48call ccopy(ngridg_(1)*ngridg_(2)*ngridg_(3),crhoir,1,cvclir,1)
49call cfftifc(3,ngridg_,-1,cvclir)
52 rl2(0:lmaxo)=
rmtl(2:lmaxo+2,is)
60 z1=cvclir(jg)*sfacgp(ig,ias)/gpc(ig)
61 zlm(1)=zlm(1)+jlgprmt(1,ig,is)*t1*z1
63 lma=l**2+1; lmb=lma+2*l
64 z2=jlgprmt(l+1,ig,is)*rl2(l)*z1
65 zlm(lma:lmb)=zlm(lma:lmb)+z2*conjg(ylmgp(lma:lmb,ig))
69 zlm(1)=zlm(1)+t2*cvclir(jg)
72 qlm(1:lmmaxo,ias)=qlm(1:lmmaxo,ias)-zlm(1:lmmaxo)
82 lma=l**2+1; lmb=lma+2*l
83 zlm(lma:lmb)=t2*qlm(lma:lmb,ias)
93 lma=l**2+1; lmb=lma+2*l
95 z1=z1+t3*sum(zlm(lma:lmb)*ylmgp(lma:lmb,ig))
97 z2=jlgprmt(lnpsd,ig,is)*conjg(sfacgp(ig,ias))
98 cvclir(jg)=cvclir(jg)+z1*z2
101 cvclir(jg)=cvclir(jg)+t2*zlm(1)
108 cvclir(jg)=gclgp(ig)*cvclir(jg)
120 z1=cvclir(igfft_(ig))*sfacgp(ig,ias)
121 zlm(1)=zlm(1)+jlgprmt(0,ig,is)*
fourpi*
y00*z1
123 lma=l**2+1; lmb=lma+2*l
124 z2=jlgprmt(l,ig,is)*z1
125 zlm(lma:lmb)=zlm(lma:lmb)+z2*conjg(ylmgp(lma:lmb,ig))
132 do lm=l**2+1,(l+1)**2
133 z1=t1*(zlm(lm)-cvclmt(i+lm,ias))
135 cvclmt(lm:i1:
lmmaxi,ias)=cvclmt(lm:i1:
lmmaxi,ias)+z1*rl(1:nri,l,is)
137 i1=lmmaxo*(nr-iro)+i0
138 cvclmt(i0:i1:lmmaxo,ias)=cvclmt(i0:i1:lmmaxo,ias)+z1*rl(iro:nr,l,is)
143 do lm=l**2+1,(l+1)**2
144 z1=t1*(zlm(lm)-cvclmt(i+lm,ias))
146 i1=lmmaxo*(nr-iro)+i0
147 cvclmt(i0:i1:lmmaxo,ias)=cvclmt(i0:i1:lmmaxo,ias)+z1*rl(iro:nr,l,is)
152call cfftifc(3,ngridg_,1,cvclir)
subroutine cpotcoul(nrmt_, nrmti_, npmt_, ld1, rl, ngridg_, igfft_, ngp, gpc, gclgp, ld2, jlgprmt, ylmgp, sfacgp, crhoir, ld3, cvclmt, cvclir)
real(8), dimension(:,:), allocatable rmtl
integer, dimension(maxspecies) natoms
real(8), dimension(maxspecies) rmt
integer, dimension(maxatoms, maxspecies) idxas
integer, dimension(maxatoms *maxspecies) idxis
real(8), parameter fourpi