subroutine Epotek301_1(A_eff,Z_eff,N_H,N_C,N_O,N_N,I_eff_alt) implicit none C comment: C Calculate the mass fraction of each element in Epotek 301-1 : LBL C Calculate I_eff, L_rad of Epotek 301-1 : LBL C C 1 : C19H20O4, mass fraction = 0.56 C 2 : C10H18O4, mass fraction = 0.24 C 3 : C9H22N2, mass fraction = 0.20 C cf) http://personalpages.to.infn.it/~tosello/EngMeet/ITSmat/SDD/Epotek-301-1.html C C output: real*8 A_eff,Z_eff real*8 N_H,N_C,N_O,N_N real*8 I_eff_alt C constant: real*8 A_H,A_C,A_O,A_N ! Atomic weight parameter(A_H=1.008D0,A_C=12.0107D0,A_O=15.9990D0,A_N=14.0070D0) !LBL real*8 Z_H,Z_C,Z_O,Z_N ! Atomic charge parameter(Z_H=1.D0,Z_C=6.D0,Z_O=8.D0,Z_N=7.D0) C real*8 w_1,w_2,w_3 ! Mass fraction parameter(w_1=0.56D0,w_2=0.24D0,w_3=0.20D0) real*8 NC_1,NH_1,NO_1,NN_1 parameter(NC_1=19.D0,NH_1=20.D0,NO_1=4.D0,NN_1=0.D0) real*8 NC_2,NH_2,NO_2,NN_2 parameter(NC_2=10.D0,NH_2=18.D0,NO_2=4.D0,NN_2=0.D0) real*8 NC_3,NH_3,NO_3,NN_3 parameter(NC_3=9.D0, NH_3=22.D0,NO_3=0.D0,NN_3=2.D0) real*8 A_1,A_2,A_3 parameter(A_1=NC_1*A_C+NH_1*A_H+NO_1*A_O+NN_1*A_N, & A_2=NC_2*A_C+NH_2*A_H+NO_2*A_O+NN_2*A_N, & A_3=NC_3*A_C+NH_3*A_H+NO_3*A_O+NN_3*A_N) real*8 Z_1,Z_2,Z_3 parameter(Z_1=NC_1*Z_C+NH_1*Z_H+NO_1*Z_O+NN_1*Z_N, & Z_2=NC_2*Z_C+NH_2*Z_H+NO_2*Z_O+NN_2*Z_N, & Z_3=NC_3*Z_C+NH_3*Z_H+NO_3*Z_O+NN_3*Z_N) C real*8 I_H,I_C,I_O,I_N parameter(I_H=21.8D0,I_C=81.0D0,I_O=95.0D0,I_N=82.0D0) ! H:liquid,C:amorphous real*8 L_H,L_C,L_O,L_N parameter(L_H=63.05D0,L_C=42.70D0,L_O=34.24D0,L_N=37.99D0) C real*8 I_C19H20O4,I_C10H18O4,I_C9H22N2 ! Mean ionization potential parameter(I_C19H20O4=71.31D0,I_C10H18O4=68.45D0, & I_C9H22N2 =58.88D0) C variables: real*8 N_1,N_2,N_3 real*8 w_C,w_H,w_O,w_N real*8 A_eff_d,Z_eff_d,ln_I_eff_alt C real*8 I_eff,ln_I_eff real*8 L_rad,recip_L_rad real*8 A_avr,A_avr_d,Z_avr C begin: write(*,'(A)')'***********************************************'// &'*********************************' write(*,'(A)')'Epotek 301-1:' write(*,'(A)')'Calculate various parameters from '// & 'mass fractions of elements (LBL-like way)' write(*,'(A)')'***********************************************'// &'*********************************' write(*,'(A,F7.3)')'Fraction by weight ([C19H20O4])= ',w_1 write(*,'(A,F7.3)')'Fraction by weight ([C10H18O4])= ',w_2 write(*,'(A,F7.3)')'Fraction by weight ([C9H22N2])= ',w_3 C N_1 =1.D0 A_eff_d = A_1/w_1 N_2 = w_2*A_eff_d/A_2 N_3 = w_3*A_eff_d/A_3 C write(*,'(A,F10.6)')'Molecular fraction ([C19H20O4])= ',N_1 write(*,'(A,F10.6)')'Molecular fraction ([C10H18O4])= ',N_2 write(*,'(A,F10.6)')'Molecular fraction ([C9H22N2])= ',N_3 C Z_eff_d = N_1*Z_1 + N_2*Z_2 + N_3*Z_3 ln_I_eff_alt = (N_1*Z_1*log(I_C19H20O4) & + N_2*Z_2*log(I_C10H18O4) & + N_3*Z_3*log(I_C9H22N2) & )/Z_eff_d I_eff_alt = exp(ln_I_eff_alt) write(*,'(A18,F10.5,A5)')'I_eff_alt = ',I_eff_alt,' (eV)' write(*,'(A18,F10.5)')'A_eff_d = ',A_eff_d write(*,'(A18,F10.5)')'Z_eff_d = ',Z_eff_d write(*,'(A18,F10.5)')'Z_eff_d/A_eff_d = ',Z_eff_d/A_eff_d C w_C = (NC_1 + N_2*NC_2 + N_3*NC_3)*A_C/A_eff_d w_H = (NH_1 + N_2*NH_2 + N_3*NH_3)*A_H/A_eff_d w_O = (NO_1 + N_2*NO_2 + N_3*NO_3)*A_O/A_eff_d w_N = (NN_1 + N_2*NN_2 + N_3*NN_3)*A_N/A_eff_d C write(*,'(A,F10.6)')'Mass fraction (C)= ',w_C write(*,'(A,F10.6)')'Mass fraction (H)= ',w_H write(*,'(A,F10.6)')'Mass fraction (O)= ',w_O write(*,'(A,F10.6)')'Mass fraction (N)= ',w_N C N_H=1.D0 A_eff = A_H/w_H N_C = A_eff*w_C/A_C N_O = A_eff*w_O/A_O N_N = A_eff*w_N/A_N C write(*,'(A,F10.6)')'Atomic fraction (H)= ',N_H write(*,'(A,F10.6)')'Atomic fraction (C)= ',N_C write(*,'(A,F10.6)')'Atomic fraction (O)= ',N_O write(*,'(A,F10.6)')'Atomic fraction (N)= ',N_N C Z_eff = N_H*Z_H + N_C*Z_C + N_O*Z_O + N_N*Z_N ln_I_eff = (N_H*Z_H*log(I_H) + N_C*Z_C*log(I_C) + N_O*Z_O*log(I_O) & + N_N*Z_N*log(I_N))/Z_eff I_eff = exp(ln_I_eff) write(*,'(A18,F10.5,A5)')'I_eff = ',I_eff,' (eV)' write(*,'(A18,F10.5)')'A_eff = ',A_eff write(*,'(A18,F10.5)')'Z_eff = ',Z_eff write(*,'(A18,F10.5)')'Z_eff/A_eff = ',Z_eff/A_eff C recip_L_rad=w_H/L_H + w_C/L_C + w_O/L_O + w_N/L_N L_rad=1.D0/recip_L_rad write(*,'(A18,F10.5,A)')'L_rad = ',L_rad,' (g/cm^2)' C Z_avr = Z_H*w_H + Z_C*w_C + Z_O*w_O + Z_N*w_N A_avr = A_H*w_H + A_C*w_C + A_O*w_O + A_N*w_N A_avr_d = Z_avr/(Z_eff/A_eff) write(*,'(A18,F10.5)')' = ',A_avr write(*,'(A18,F10.5,A21)')' = ',A_avr_d, & ' <- /(Z_eff/A_eff)' write(*,'(A18,F10.5)')' = ',Z_avr return end