function HCTRecom(ion,nelem) c ============================ c c Code by Jim Kingdon, in collaboration with G.J. Ferland c ion is stage of ionization, 2 for the ion going to the atom c nelem is atomic number of element, 2 up to 30 c Example: O+ + H => O + H+ is HCTRecom(2,8) c integer ion , nelem INCLUDE 'IMPLIC.FOR' common/CTRTEMP/ te common/CTRecomb/ CTRecomb(6,4,30) c c local variables * real tused c integer ipIon c ipIon = ion - 1 c if( ipIon.gt.4 ) then c use statistical charge transfer for ion > 4 HCTRecom = 1.92e-9 * ipIon return endif c c Make sure te is between temp. boundaries; set constant outside of range tused = max( te,CTRecomb(5,ipIon,nelem) ) tused = min( tused , CTRecomb(6,ipIon,nelem) ) tused = tused * 1e-4 c c the interpolation equation HCTRecom = CTRecomb(1,ipIon,nelem)* 1e-9 * 1 (tused**CTRecomb(2,ipIon,nelem)) * 2 (1. + 3 CTRecomb(3,ipIon,nelem) * exp(CTRecomb(4,ipIon,nelem)*tused) ) c end