subroutine nhe3(spec0) c implicit none integer i, j, k, k1, n, m, vi, n_plates, n_spec parameter(n=1000) parameter(m=2) parameter(n_plates=5) double precision spec(n,m),spec0(n,m),xpos(n_plates),af(n_plates) double precision current(n_plates), xf(n_plates) double precision mn_kg, mn_ev, h_js, hbar, m_sig, e_b double precision w_he, w_ar, t_pd, e_ncoul, ee, p_he, p_ar parameter(mn_kg=1.67476e-27) parameter(mn_ev=939.5e6) parameter(h_js=6.626e-34) parameter(hbar=197.327) parameter(m_sig=-0.50345) parameter(e_b=823.94189) parameter(w_he=42.5) parameter(w_ar=26.4) parameter(t_pd=7.63e5) parameter(e_ncoul=1.602e-10) parameter(ee=2) parameter(p_he=0.22) parameter(p_ar=3.0) double precision w, v_min, v_max, a_sum, sum_af double precision n_flux, flux, T_current double precision alambda, v_c, E_n, pi, sigma, rho, a, d, vc2 parameter(pi = 3.14159) double precision an(n_plates), vb(n_plates), t(n_plates) double precision aan(n_plates), vvb(n_plates), tt(n_plates) double precision aa, q data xpos/0, 2.385, 6.195, 13.815, 25.245/ c data xpos/0, 2.91, 10.17, 19.32, 25.25/ c file from n-simul posting#42 n_flux = 0 do i=1, n spec(i,1) = 0.016*i spec(i,2) = spec0(i,2) n_flux = n_flux + spec(i,2) cbec write(72,*) i, spec(i,1), spec(i,2) enddo n_spec = n c write(*,*) n_flux w=(w_he*p_he+w_ar*p_ar)/(p_he+p_ar); v_min=20; v_max=1075; a_sum=0; rho=2.69e-5*p_he; do k =1, n_spec alambda = spec(k,1) flux=3.5e9*spec(k,2)/n_flux T_current=flux*t_pd/w*e_ncoul v_c=h_js/(mn_kg*1e-10*alambda) E_n=(2*pi*hbar*10.0/alambda)**2/(2.0*mn_ev) c write(*,*) alambda, flux, T_current, v_c, E_n sigma=e_b*E_n**m_sig; a=1/(sigma*rho); a=-1/a; vc2=v_c**2; c write(*,*) p_he, rho,sigma, a, vc2 d=0.0; do k1 = 1, n_plates an(k1)=0 aan(k1)=0 vb(k1)=0 vvb(k1)=0 t(k1)=0 tt(k1)=0 enddo do vi=v_min, v_max aa=a*v_c/vi; q=(vi**ee)*exp(-1*vi**2/vc2); do j = 1, n_plates-1 aan(j)=q*(exp(aa*xpos(j))-exp(aa*xpos(j+1))); vvb(j)=vi*aan(j); tt(j)=aan(j)*sin(0.76/vi); an(j)=an(j)+aan(j); vb(j)=vb(j)+vvb(j); t(j)=t(j)+tt(j); enddo d=d+q; enddo do j=1, n_plates-1 vb(j)=vb(j)/an(j) t(j)=t(j)/an(j)*1000 current(j)=T_current*an(j)/d enddo a_sum=a_sum+d do j=1, n_plates-1 af(j)=af(j)+an(j) enddo enddo write(6,*) write(6,*) '3He Detector absorption' write(6,105) sum_af = 0 do j=1, n_plates-1 xf(j)=xpos(j+1) af(j)=af(j)/a_sum*100 sum_af = sum_af + af(j) write(6,110) j, xf(j), af(j), af(j)/af(1) enddo 105 format(3x,' j z-position(cm) current?? abs.ratio ') 110 format(2x,i3,4x,f6.2,10x,f6.2,5x,f6.2) 115 format(10x,'Total Current ',1x,f6.2) write(6,115) sum_af return end