9subroutine gradzfmt(nr,nri,ri,wcr,zfmt,ld,gzfmt)
51integer,
intent(in) :: nr,nri
52real(8),
intent(in) :: ri(nr),wcr(12,nr)
53complex(8),
intent(in) :: zfmt(*)
54integer,
intent(in) :: ld
55complex(8),
intent(out) :: gzfmt(ld,3)
61real(8),
parameter :: c1=0.7071067811865475244d0
65real(8) f1(nr),f2(nr),g1(nr),g2(nr)
68real(8),
external :: clebgor
92 drmt(i)=cmplx(g1(ir),g2(ir),8)
96 drmt(i)=cmplx(g1(ir),g2(ir),8)
104 f2(ir)=aimag(zfmt(i))
107 call splined(nro,wcr(1,iro),f1(iro),g1(iro))
108 call splined(nro,wcr(1,iro),f2(iro),g2(iro))
111 drmt(i)=cmplx(g1(ir),g2(ir),8)
123 t1=-sqrt(dble(l+1)/dble(2*l+1))
125 t2=sqrt(dble(l)/dble(2*l+1))
135 if (l+1 <=
lmaxi)
then
137 lm1=(l+1)*(l+2)+(m-mu)+1
138 t3=t1*
clebgor(l+1,1,l,m-mu,mu,m)
141 gzfmt(i1,j)=gzfmt(i1,j)+t3*(drmt(i)-dble(l)*ri(ir)*zfmt(i))
145 if (abs(m-mu) <= l-1)
then
148 t3=t2*
clebgor(l-1,1,l,m-mu,mu,m)
151 gzfmt(i1,j)=gzfmt(i1,j)+t3*(drmt(i)+dble(l+1)*ri(ir)*zfmt(i))
161 t1=-sqrt(dble(l+1)/dble(2*l+1))
163 t2=sqrt(dble(l)/dble(2*l+1))
173 if (l+1 <=
lmaxo)
then
174 lm1=(l+1)*(l+2)+(m-mu)+1
175 t3=t1*
clebgor(l+1,1,l,m-mu,mu,m)
178 gzfmt(i1,j)=gzfmt(i1,j)+t3*(drmt(i)-dble(l)*ri(ir)*zfmt(i))
182 if (abs(m-mu) <= l-1)
then
184 t3=t2*
clebgor(l-1,1,l,m-mu,mu,m)
187 gzfmt(i1,j)=gzfmt(i1,j)+t3*(drmt(i)+dble(l+1)*ri(ir)*zfmt(i))
203 gzfmt(i,1)=c1*(z1-gzfmt(i,2))
204 gzfmt(i,2)=c1*(z1+gzfmt(i,2))*
zmi
211 gzfmt(i,1)=c1*(z1-gzfmt(i,2))
212 gzfmt(i,2)=c1*(z1+gzfmt(i,2))*
zmi
subroutine gradzfmt(nr, nri, ri, wcr, zfmt, ld, gzfmt)
complex(8), parameter zmi