subroutine quad(zn) c--------------------------------------------------------------------------- save c include 'param_sz.h' include 'constcom.h' include 'pcordcom.h' include 'syscom.h' include 'ucom.h' c dimension e(6) c-------------------------------------------------------------------------- c* ne=rne sl=zn-z k=1 l=4 xp=bgx/bgz yp=bgy/bgz con=1.+xp**2+yp**2 z=zn caysq=el(4,ne)/(brhof*bgz) cay=sqrt(abs(caysq)) if(caysq)10,30,20 10 continue k=4 l=1 20 continue cayl=cay*sl s=sin(cayl) c=cos(cayl) sh=sinh(cayl) ch=cosh(cayl) e(k)=c e(k+1)=s/cay e(k+2)=-cay*s e(l)=ch e(l+1)=sh/cay e(l+2)=cay*sh xs=x ys=y x=e(1)*xs+e(2)*xp xp=e(3)*xs+e(1)*xp y=e(4)*ys+e(5)*yp yp=e(6)*ys+e(4)*yp bgx=xp*bgz bgy=yp*bgz bgz=bgz*sqrt(con/(1.+xp**2+yp**2)) return 30 continue x=x+xp*sl y=y+yp*sl return end c++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*