program tittorn integer k,ir,iz,is,zs real z,y,x,r,val,valA,valA1,valA2,valA3,valA4,t real tr(78),tabl(78,40),tz(40) data tr/ 1.25, 1.75, 2.25, 2.75, 3.25, 3.75, 4.25, 4.75, 5.25, & 5.75, 6.25, 6.75, 7.25, 7.75, 8.25, 8.75, 9.25, 9.75, & 10.25, 10.75, 11.25, 11.75, 12.25, 12.75, 13.25, 13.75, & 14.25, 14.75, 15.25, 15.75, 16.25, 16.75, 17.25, 17.75, & 18.25, 18.75, 19.25, 19.75, 20.25, 20.75, 21.25, 21.75, & 22.25, 22.75, 23.25, 23.75, 24.25, 24.75, 25.25, 25.75, & 26.25, 26.75, 27.25, 27.75, 28.25, 28.75, 29.25, 29.75, & 30.00, 30.25, 30.50, 30.75, 31.00, 31.25, 31.50, 31.75, & 32.00, 32.25, 32.50, 32.75, 33.00, 33.25, 33.50, 33.75, & 34.00, 34.25, 34.50, 34.75/ open(10,file='table',status='old') open(30,file='oT32ext',status='old') open(20,file='neutNtitoriT32ext',status='new') do k=1,40 read(10,*)(tabl(ir,k),ir=1,78) enddo do k=1,40 tz(k)=-9.75+0.5*(k-1) enddo 1 read(30,*,end=99)x,y,z,t val = 999999.99 r = sqrt(x**2 + y**2) if ((r.lt.1.25).or.(r.gt.34.75)) then val = 0.0 goto 123 endif if (abs(z).gt.9.75) then val = 0.0 goto 123 endif do ir = 1,77 if ((r.ge.tr(ir)).and.(r.lt.tr(ir+1))) then is=ir endif enddo do iz=1,39 if ((z.ge.tz(iz)).and.(z.lt.tz(iz+1))) then zs=iz endif enddo valA=(tr(is+1)-tr(is))*(tz(zs+1)-tz(zs)) valA1=(r-tr(is))*(z-tz(zs)) valA2=(r-tr(is))*(tz(zs+1)-z) valA3=(tr(is+1)-r)*(tz(zs+1)-z) valA4=(tr(is+1)-r)*(z-tz(zs)) val=((valA1/valA)*(tabl(is+1,zs+1)))+ & ((valA2/valA)*(tabl(is+1,zs)))+ & ((valA3/valA)*(tabl(is,zs)))+ & ((valA4/valA)*(tabl(is,zs+1))) 123 continue write(20,*)t,val go to 1 99 stop end