36 subroutine anxlk(rp,rm,rz)
42 double precision rp,rm,rz
44 integer k,kx,kptf,k1f,k1i,k1,k1abs,k1x,k2,k2abs,k2f,k2i,k2x,
46 double precision factl,wig1,rj2u,rjuju,term
86 rj2u=
cpot(lx,kx)*( rp*dble(l*(l+1)-k*k) + rz*dble(k*k) )
87 if (k+2.le.l .and. k+2.le.
kptmx) rj2u=rj2u+rm*
cpot(lx,kx+1)
88 # * dsqrt(dble((l+k+1)*(l+k+2)*(l-k-1)*(l-k) ) )
89 if (k-2.ge.0) rj2u=rj2u+rm*
cpot(lx,kx-1)
90 # * dsqrt(dble((l-k+1)*(l-k+2)*(l+k-1)*(l+k) ) )
91 if (k-2.lt.0) rj2u=rj2u+rm*
cpot(lx,kx+1)
92 # * dsqrt(dble((l-k+1)*(l-k+2)*(l+k-1)*(l+k) ) )
93 xlk(lx,kx)=-0.5d0*rj2u
113 wig1=w3j(l1,l,l2,0,0,0)
127 k2i=max(k-k1-2,-
kptmx,-l2)
128 k2f=min(k-k1+2,
kptmx,l2)
136 if( (k2.eq.k-k1-2) .and. (abs(k1+1).le.l1)
137 # .and.(abs(k2+1).le.l2) )
then
138 term=rm*w3j(l1,l,l2,k1+1,-k,k2+1)* dsqrt(
139 # dble((l1-k1)*(l1+k1+1)*(l2-k2)*(l2+k2+1)) )
143 else if ( (k2.eq.k-k1+2) .and. (abs(k1-1).le.l1)
144 # .and. (abs(k2-1).le.l2) )
then
145 term=rm*w3j(l1,l,l2,k1-1,-k,k2-1)* dsqrt(
146 # dble((l1+k1)*(l1-k1+1)*(l2+k2)*(l2-k2+1)) )
150 else if (k2.eq.k-k1)
then
151 if((abs(k1+1).le.l1).and.(abs(k2-1).le.l2))
then
152 term=rp*w3j(l1,l,l2,k1+1,-k,k2-1)*
153 # dsqrt(dble((l1-k1)*(l1+k1+1)*(l2+k2)*(l2-k2+1)))
161 # term=term+rz*dble(k1*k2)*w3j(l1,l,l2,k1,-k,k2)
167 rjuju=rjuju+
cpot(l1x,k1x)*
cpot(l2x,k2x)*wig1*term
173 xlk(lx,kx)=
xlk(lx,kx)-0.25d0*factl*rjuju
double precision, dimension(5, 5), save cpot
subroutine anxlk(rp, rm, rz)
double precision, dimension(5, 5), save xlk
double precision, parameter rndoff