subroutine dielrc(iatom,iont,temp,xpx,dirt,sig0) c ================================================ c INCLUDE 'IMPLIC.FOR' c c c Modification of Tim Kallman's XSTAR routine rrrec to calculate dielectronic c recombination rates (only) to individual ionic species (modified by Omer c Blaes 5-8-98) c c Here temp=temperature in K, xpx is the number density of atomic nuclei in c cm^{-3} (hydrogen density=xpx/1.1, helium density=xpx*0.1/1.1), c dirt =the dielectronic rate in cm^3/s, c sig0 = the value of sigma_0, the corresponding pseudo-cross-section c iatom - atomic number (1=H, 2=He, 6=C, etc.) c iont - ionization stage (1 for neutrals, 2 for once ionized, etc.) c c this routine computes radiative recombination rates, both rr c and dr. rates are output in units of cm**3/s for each ion c stage, where ions are numbered from 1-168: c 1=HI, 2=HeI, 3=HeII, 4=C I, 5=C II, ..., 9=C VI, 10=N I, ..., c 16=N VII, 17=O I, ..., 24=O VIII, 25=Ne I, ..., 34=Ne X, c 35=Mg I, ..., 46=Mg XII, 47=Si I, ..., 60=Si XIV, 61=S I, ..., c 76=S XVI, 77=Ar I, ..., 94=Ar XVIII, 95=Ca I, ... 114=Ca XX, c 115=Fe I, ..., 140=Fe XXVI, 141=Ni I, ... 168=Ni XXVIII. c inputs are rate coefficients from Aldrovandi and Pequignot, Storey, c and from Arnaud and Raymond for iron c parameter (nni=168) parameter (cons=0.1239529*3.28805e15/13.595) dimension inid(28,28),uu(28,28) dimension adi(nni),bdi(nni),t0(nni),t1(nni),cdd(nni) dimension dcfe(26,4),defe(26,4) dimension gli(20),gfe(26),gni(28) dimension istorey(13),rstorey(5,13) c c c Each non-indented line in the following data statements corresponds c to each of the elements H, He, C, N, O, Ne, Mg, Si, S, Ar, Ca, Fe, c and Ni. c data inid/1, 27*0, * 2, 3, 26*0, * 28*0, * 28*0, * 28*0, * 4, 5, 6, 7, 8, 9, 22*0, * 10,11,12,13,14,15,16, 21*0, * 17,18,19,20,21,22,23,24, 20*0, * 28*0, * 25,26,27,28,29,30,31,32,33,34, 18*0, * 28*0, * 35,36,37,38,39,40,41,42,43,44,45,46, 16*0, * 28*0, * 47,48,49,50,51,52,53,54,55,56,57,58,59,60,14*0, * 28*0, * 61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,12*0, * 28*0, * 77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94, * 10*0, * 28*0, * 95,96,97,98,99,100,101,102,103,104,105,106,107,108,109, * 110,111,112,113,114,8*0, * 28*0, * 28*0, * 28*0, * 28*0, * 28*0, * 115,116,117,118,119,120,121,122,123,124,125,126,127,128, * 129,130,131,132,133,134,135,136,137,138,139,140,2*0, * 28*0, * 141,142,143,144,145,146,147,148,149,150,151,152,153,154, * 155,156,157,158,159,160,161,162,163,164,165,166,167,168/ data adi/0., % 1.9E-03,0., % 6.9E-04,7.0E-03,3.8E-03,4.8E-02,4.8E-02,0., % 5.2E-04,1.7E-03,1.2E-02,5.5E-03,7.6E-02,6.6E-02,0., % 1.4E-03,1.4E-03,2.8E-03,1.7E-02,7.1E-03,1.1E-01,8.6E-02, % 0.0, % 1.3E-03,3.1E-03,7.5E-03,5.7E-03,1.0E-02,4.0E-02,1.1E-02, % 1.8E-01,1.3E-01,0., % 1.7E-3,3.5E-3,3.9E-3,9.3E-3,1.5E-2,1.2E-2, % 1.4E-2,3.8E-2,1.4E-2,2.6E-1,1.7E-1,0., % 6.2E-03,1.4E-02,1.1E-02,1.4E-02,7.8E-03,1.6E-02,2.3E-02, % 1.1E-02,1.1E-02,4.8E-02,1.8E-02,3.4E-01,2.1E-01,0., % 7.3E-05,4.9E-03,9.1E-03,4.3E-02,2.5E-02,3.1E-02,1.3E-02, % 2.1E-02,3.5E-02,3.0E-02,3.1E-02,6.3E-02,2.3E-02, % 4.2E-01,2.5E-01,0., % .0001,.011,.034,.0685,.090,.0635,.0260,.017, % .0210,.0350,.0540,.0713,.0960,.0850,.0170, % .476,.297,0., % 3.28E-4,5.84E-02,1.12E-01,1.32E-01,1.33E-01,1.26E-01, % 1.39E-01,9.55E-02,4.02E-01,4.19E-02,2.57E-02,4.45E-02, % 5.48E-02,7.13E-02,9.03E-02,1.10E-01,2.05E-02,5.49E-01, % 3.55E-01,0., % 1.8E-3,3.6E-2,7.8E-2,2.2E-1,1.4E-1,1.4E-1, % 1.1E-1,6.3E-1,5.5E-1,3.6E-1,2.6E-1,1.6E-1, % 6.6E-2,2.5E-1,1.2E-1,5.0E+0,3.7E-2,6.3E-2, % 7.0E-2,1.1E-1,1.0E-1,1.1E-1,3.6E-2,7.5E-1, % 5.2E-1,0., % 1.41E-03, 5.20E-03, 1.38E-02, 2.30E-02, 4.19E-02, % 6.83E-02, 1.22E-01, 3.00E-01, 1.50E-01, 6.97E-01, % 7.09E-01, 6.44E-01, 5.25E-01, 4.46E-01, 3.63E-01, % 3.02E-01, 1.02E-01, 2.70E-01, 4.67E-02, 8.35E-02, % 9.96E-02, 1.99E-01, 2.40E-01, 1.15E-01, 3.16E-02, % 8.03E-01, 5.75E-01, 0./ data bdi/0., % 0.3,0., % 3.0, 0.5, 2.0, 0.2, 0.2, 0., % 3.8, 4.1, 1.4, 3.0, 0.2, 0.2, 0., % 2.5, 3.3, 6.0, 2.0, 3.2, 0.2, 0.2, % 0., % 1.9, 0.6, 0.7, 4.3, 4.8, 1.6, 5.0, % 0.2, 0.2, 0., % 0., 0., 3., 3.2, 3.2, 6.7, % 4.4, 3.5, 10., 0.2, 0.2, 0., % 0., 0., 0., 0., 10., 4., 8., % 6.3, 6., 5., 10.5, 0.2, 0.2, 0., % 0., 2.5, 6.0, 0., 0., 0., 22., % 6.4, 13., 6.8, 6.3, 4.1, 12., 0.2, % 0.2, 0., % .005, .045, .057, .087, .0769, .140, .120, .100, 1.92, % 1.66, 1.67, 1.40, 1.31, 1.02, .245, .294, .277, 0., % 0.0907,.110,.0174,.132,.114,.162,.0878,.263,.0627, % .0616,2.77,2.23,2.00,1.82,.424,.243,.185,.292,.275, % 0., % 6*0.,1.3,4*0.4, 0.8, 2.7, 0.1, 1.9, 0.1, % 26., 23., 17., 8., 11.7, 15.4, 29., % 0.3, 0.3, 0., % .469, .357, .281, .128, .0417, .0558, .0346, 0., % 1.90, .277, .135, .134, .192, .332, .337, .121, % .0514, .183, 7.56, 4.55, 4.87, 2.19, 1.15, 1.23, % .132, .289, .286, 0./ data t0/0., % 47.,0., % 11., 15., 9.1, 340., 410., 0., % 13., 14., 18., 11., 470., 540., 0., % 17., 17., 18., 22., 13., 620., 700., % 0., % 31., 29., 26., 24., 24., 29., 17., % 980., 1100., 0., % 5.1, 61., 44., 39., 34., 31., % 31., 36., 21., 1400., 1500., 0., % 11., 12., 10., 120., 55., 49., % 42., 38., 37., 42., 25., 1900., % 2000., 0., % 11., 12., 13., 18., 15., 190., % 67., 59., 55., 47., 42., 50., % 30., 2400., 2500., 0., % 32., 29., 23.9, 25.6, 25.0, 21.0, 18., 270., 83., % 69.5, 60.5, 66.8, 65.0, 53.0, 35.5, 3010.,3130.,0., % 3.46,38.5,40.8,38.2,35.3,31.9,32.2,24.7,22.9,373.,92.6, % 79.6,69.0,67.0,47.2,56.7,42.1,3650.,3780.,0., % 5.8, 13., 28., 37., 49., 63., % 68., 77., 73., 71., 68., 61., 59., % 43., 35., 770., 100., 87., 62., 69., % 68., 67., 41., 5800., 5900., 0., % 9.82, 20.1, 30.5, 42.0, 55.6, 67.2, 79.3, 90.0, 100., % 78.1, 76.4, 74.4, 66.5, 59.7, 52.4, 49.6, 44.6, 849., % 136., 123., 106., 125., 123., 33.2, 64.5, 6650., % 6810., 0./ data t1/0., % 9.4,0., % 4.9, 23., 37., 51., 76., 0., % 4.8, 6.8, 38., 59., 72., 98., 0., % 13., 5.8, 9.1, 59., 80., 95., 130., % 0., % 15., 17., 45., 17., 35., 110., 130., % 140., 260., 0., % 0., 0., 41., 87., 100., 54., % 36., 160.,210.,240.,350., 0., % 0., 0., 0., 0., 100., 130., 170., % 60., 110., 250., 280., 310., 440., 0., % 0., 8.8, 15., 0., 0., 0., % 180., 200., 230., 120., 130., 340., % 360., 460., 550., 0., % 31., 55., 60., 38.1, 33., 21.5, 21.5, 330., 350., % 360., 380., 290., 360., 280., 110., 605., 654., 0., % 1.64,24.5,42.7,69.2,87.8,74.3,69.9,44.3,28.1,584., % 489.,462.,452.,332.,137.,441.,227.,725.,768.,0., % 6*0.,36.,63., 85., 89., 100., 120., 190., % 190., 250., 90., 630., 770., 620., 510., % 870., 990., 1000., 980., 1200., 0., % 10.1, 19.1, 23.2, 31.8, 45.5, 55.1, 52.8, 0.00, 55.0, % 88.7, 180.,125., 189., 88.4, 129., 62.4, 159., 801., % 932., 945., 945., 801., 757., 264., 193., 1190., % 908., 0./ data gli /2.,1.,2.,1.,6.,9.,4.,9.,6.,1.,2.,1.,6.,9.,4.,9.,6.,1., * 2.,1./ data gfe /2.,1.,2.,1.,6.,9.,4.,9.,6.,1.,2.,1.,6.,9.,4.,9., * 6.,1.,10.,21.,28.,25.,6.,25.,30.,25./ data gni /2.,1.,2.,1.,6.,9.,4.,9.,6.,1.,2.,1.,6.,9.,4.,9., * 6.,1.,10.,21.,28.,25.,6.,25.,28.,21.,10.,21./ c c parameters for calculating density dependent correction ap from Raymond c DATA cdd/.24E-02,.1430E-01,.9094E-03,.3500E-01,.3050E-01, $ .9043E-02,.1077E-01,.2585E-03,.1953E-03,.8000E-01, $ .8715E-02,.1346E-01,.4753E-02,.6304E-02,.1601E-03, $ .1574E-03,.5600E-01,.1610E-01,.4081E-02,.7718E-02, $ .2910E-02,.4070E-02,.1059E-03,.1306E-03,.3370E-01, $ .1023E-01,.4726E-02,.3410E-02,.1660E-02,.3649E-02, $ .1412E-02,.2040E-02,.5280E-04,12*0.,.9555E-04,.8100E-01, $ .4168E-01,.2792E-01,.2585E-01,.2137E-02,.7325E-03, $ .8059E-03,.7821E-03,.6306E-03,.1501E-02,.5546E-03, $ .7711E-03,.1760E-04,.5965E-04,.6600E-01,.2842E-01, $ .1740E-01,.1579E-01,.1355E-01,.1221E-01,.1272E-02, $ .3673E-03,.4921E-03,.4976E-03,.4592E-03,.1108E-02, $ .3973E-03,.5326E-03,.1098E-04,.4948E-04,18*0.,20*0.,9*0., $ .2030E-02,.2299E-02,.2313E-02,.2233E-02,.2734E-02, $ .2934E-02,.2319E-02,.3406E-03,.5245E-04,.1246E-03, $ .1320E-03,.1711E-03,.4206E-03,.1339E-03,.1461E-03, $ .1015E-05,.2508E-04,28*0./ c data dcfe/2.2e-4,2.3e-3,1.5e-2,3.8e-2,8.0e-2,9.2e-2, & 0.16,0.18,0.14,0.1,0.225,0.24,0.26,0.19, & 0.12,1.23,2.53e-3,5.67e-3,1.6e-2,1.85e-2,9.2e-4, & 0.131,1.1e-2,0.256,0.43,0.,1.e-4,2.7e-3, & 4.7e-3,1.6e-2,2.4e-2,4.1e-2,3.6e-2,0.07,0.26, & 0.28,0.231,0.17,0.16,0.09,0.12,0.,3.36e-2, & 7.82e-2,7.17e-2,9.53e-2,0.129,8.49e-2,4.88e-2, & 0.452,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., & 0.,0.,0.,0.,0.,0.,0.6,0.,0.181,3.18e-2, & 9.06e-2,7.9e-2,0.192,0.613,8.01e-2,0.,0.,0., & 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., & 0.,0.,0.,0.,1.92,1.26,0.739,1.23,0.912,0., & 0.529,0.,0.,0./ data defe/5.12,16.7,28.6,37.3,54.2,45.5,66.7,66.1, & 21.6,22.2,59.6,75.,36.3,39.4,24.6,560.,22.5, & 16.2,23.7,13.2,39.1,73.2,0.1,4.625e3,5.3e3, & 0.,12.9,31.4,52.1,67.4,100.,360.,123.,129., & 136.,144.,362.,205.,193.,198.,248.,0.,117., & 96.,85.1,66.6,80.3,316.,36.2,6.e3,0.,0., & 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,0., & 0.,0.,560.,0.,341.,330.,329.,297.,392., & 877.,306.,0.,0.,0.,0.,0.,0.,0.,0.,0., & 0.,0.,0.,0.,0.,0.,0.,0.,0.,0.,683., & 729.,787.,714.,919.,0.,928.,0.,0.,0./ c data istorey/5,6,7,11,12,13,14,18,19,20,21,22,0/ data rstorey/ 0.0108,-0.1075, 0.2810,-0.0193,-0.1127, $ 1.8267, 4.1012, 4.8443, 0.2261, 0.5960, $ 2.3196,10.7328, 6.8830,-0.1824, 0.4101, $ 0.0000, 0.6310, 0.1990,-0.0197, 0.4398, $ 0.0320,-0.6624, 4.3191, 0.0003, 0.5946, $ -0.8806,11.2406,30.7066,-1.1721, 0.6127, $ 0.4134,-4.6319,25.9172,-2.2290,-0.2360, $ 0.0000, 0.0238, 0.0659, 0.0349, 0.5334, $ -0.0036, 0.7519, 1.5252,-0.0838, 0.2769, $ 0.0000,21.8790,16.2730,-0.7020, 1.1899, $ 0.0061, 0.2269,32.1419, 1.9939,-0.0646, $ -2.8425, 0.2283,40.4072,-3.4956, 1.7558, $ 5*0./ c data uu/109.6787, 27*0., * 198.3108,438.9089,26*0., * 28*0., * 28*0., * 28*0., * 90.82,196.665,386.241,520.178,3162.395,3952.06, * 22*0., * 117.225,238.751,382.704,624.866,789.537,4452.758, * 5380.089,21*0., * 109.837,283.24,443.086,624.384,918.657,1114.008, * 5963.135,7028.393,20*0., * 28*0., * 173.93,330.391,511.8,783.3,1018.,1273.8,1671.792, * 1928.462,9645.005,10986.876,18*0., * 28*0., * 61.671,121.268,646.41,881.1,1139.4,1504.3,1814.3,2144.7, * 2645.2,2964.4,14210.261,15829.951,16*0., * 28*0., * 65.748,131.838,270.139,364.093,1345.1,1653.9,1988.4, * 2445.3,2831.9,3237.8,3839.8,4222.4,19661.693,21560.63, * 14*0., * 28*0., * 83.558,188.2,280.9,381.541,586.2,710.184,2265.9,2647.4, * 3057.7,3606.1,4071.4,4554.3,5255.9,5703.6,26002.663, * 28182.535,12*0., * 28*0., * 127.11,222.848,328.6,482.4,605.1,734.04,1002.73,1157.08, * 3407.3,3860.9,4347.,4986.6,5533.8,6095.5,6894.2,7404.4, * 33237.173,35699.936,10*0., * 28*0., * 49.306,95.752,410.642,542.6,681.6,877.4,1026.,1187.6, * 1520.64,1704.047,4774.,5301.,5861.,6595.,7215.,7860., * 8770.,9338.,41366.,44177.4,8*0., * 28*0., * 28*0., * 28*0., * 28*0., * 28*0., * 63.737,130.563,247.22,442.,605.,799.,1008.,1218.38, * 1884.,2114.,2341.,2668.,2912.,3163.,3686.,3946.82, * 10180.,10985.,11850.,12708.,13620.,14510.,15797., * 16500.,71203.,74829.,2*0., * 28*0., * 61.6,146.542,283.8,443.,613.5,870.,1070.,1310.,1560., * 1812.,2589.,2840.,3100.,3470.,3740.,4020.,4606., * 4896.2,12430.,13290.,14160.,15280.,16220.,17190., * 18510.,19351.,82984.,86909.4/ c data hfrac/0.75/ data hfrac/1.0/ data ergsev/1.602192e-12/ data cc1/1.e-06/ c c Tim Kallman works with temperatures in units of 10^4 K c t=temp/1.e4 c dirt=0. ini=inid(iont,iatom) if(ini.le.0) return c ekt = t*(0.861707) xst = sqrt(t) hconst = hfrac*ekt*ergsev t3s2=1./(t*xst) tmr = 1.e-6*t3s2 alogt = log10(t) kk = 0 ist=1 j=ini dirt = 0. c dr for iron from Arnaud and Raymond if ( j.lt.115 .or. j.gt.139 ) go to 2901 kk = kk + 1 do 20 n = 1,4 dirt = dirt + dcfe(kk,n)*expo(-defe(kk,n)/ekt) 20 continue dirt = dirt*tmr go to 101 2901 continue c aldrovandi and Pequignot rates c The reference is Aldrovandi, S. M. V. and P\'equignot, D. (1973) c A&A, 25, 137 c c ap is the density dependent correction to dr from Raymond c enn = xpx**(0.2) ap = 1./(1.+cdd(j)*enn) dirt = adi(j)*ap*cc1*expo(-t0(j)/t) & *(1.+bdi(j)*expo(-t1(j)/t)) $ /(t*sqrt(t)) dirtemp=0. c storey dr rates if ((j.ne.(istorey(ist)-1)).or.(t.gt.6.).or.(ist.gt.12)) $ go to 101 dirtemp= $ (1.e-12)*(rstorey(1,ist)/t+rstorey(2,ist) $ +t*(rstorey(3,ist)+t*rstorey(4,ist)))*t3s2 $ *expo(-rstorey(5,ist)/t) dirt=dirt+dirtemp ist=ist+1 101 continue c c pseudo cross-section c if(iatom.le.20) then gp=gli(iont+1) if(gp.le.0) gp=1. gg=gp/gli(iont) else if(iatom.le.26) then gp=gfe(iont+1) if(gp.le.0) gp=1. gg=gp/gfe(iont) else if(iatom.le.28) then gp=gni(iont+1) if(gp.le.0) gp=1. gg=gp/gni(iont) end if frq0=cons*uu(iont,iatom) frq1=1.1*frq0 delfr=frq1-frq0 fra=0.5*(frq0+frq1) x=1.-expo(-4.79928e-11*delfr/temp) sig0=dirt*8.47272e24*gg*sqrt(temp)/fra**2/x return end