subroutine poismu(ap,rho,ibc,rmu,dtt) c c Solves a-dtt*rmu*delsq(a)=rho for a c assuming a(ld,m,n)=0.0 c c if ibc=1 then (d/dx)ap = 0.0 at r=0.0 c if ibc=-1 then ap = 0.0 at r=0.0 c implicit none include 'itg.par' real ap(lz,mz,nz,nspecz),rho(lz,mz,nz,nspecz), * e(lz),f(lz),dtr,rmu,dtt,d,den integer ibc,mr2,lm,lp,l,m,n,mr,ll,i include 'itg.cmn' c dtr=dtt*rmu c do 10 i=1,nspecies do 10 n=1,nd do 3 m=1,md mr=mrr(m,n) mr2=mr**2 if(ibc.eq.1) then den=1.0 + 0.5*r(2)*r(2)*(mr2/(y0*y0)+1.0/dtr) e(1)=1.0/den f(1)=0.5*r(2)*r(2)*rho(1,m,n,i)/(dtr*den) else e(1)=0. f(1)=0. endif 6 continue do 1 l=2,ldb lm=l-1 d=eb(l)+fb(l)+mr2/(y0*y0)+1.0/dtr-fb(l)*e(lm) e(l)=eb(l)/d f(l)=(rho(l,m,n,i)/dtr+fb(l)*f(lm))/d 1 continue ap(ld,m,n,i)=0.0 do 2 ll=1,ldb l=ld-ll lp=l+1 ap(l,m,n,i)=e(l)*ap(lp,m,n,i)+f(l) 2 continue 3 continue 10 continue return end