subroutine genfld(nc) c--------------------------------------------------------------------------- c include 'param_sz.h' include 'cfldscom.h' include 'constcom.h' include 'misccom.h' include 'pcordcom.h' include 'syscom.h' include 'ucom.h' c common/fcoef/ncoef(100),noff(100),ncer(100) common/pr/nz,nr,zbm(numz),rbm(numr) c-------------------------------------------------------------------------- c* ne=nel rmax=el(2,ne) iflag(nc)=-1 zmax=hcll(nc) dz=zmax/(numz-1) dr(nc)=rmax/(numr-1) cwavel=wavel*freq/cellfreq(nc) con1=twopi/cwavel cl=2.*hcll(nc) con2=pi/cl ncf=ncoef(ne) do 60 i=1,numz zz=(i-1)*dz zbm(i)=zz a=con2*zz do 60 k=1,numr r=(k-1)*dr(nc) rbm(k)=r rsq=r**2 er=0. ez=0. bt=0. do 40 j=1,ncf xm=2*j-noff(ne) c1=cos(xm*a) s1=sin(xm*a) caymsq=(xm*con2)**2-con1**2 crsq=caymsq*rsq ez=ez+fc(j,nc)*xi0(crsq)*c1 if(r.eq.0.)go to 30 if(j.gt.ncer(ne)) go to 30 t1=fc(j,nc)*xi1ox(crsq) er=er+t1*xm*s1 bt=bt+t1*c1 30 continue 40 continue er=er*con2*r bt=bt*con1*r fer(k,i,nc)=er fez(k,i,nc)=ez fbt(k,i,nc)=bt 60 continue nz=numz nr=numr if(ip.eq.2) call prchold(nc) if(ip.eq.3) call prch(nc) return end c++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*