Code |
c
c###################################################################
c
function exint(x)
c
c exint = exponential integral
c handbook of mathematical functions, page 231
c by m. abramowitz and i. a. stegun
c
c written by j. j. smith , iaea atomic and molecular data unit
c
c------------------------------------------------------------------------
c
x2=x*x
x3=x2*x
x4=x3*x
x5=x4*x
if (x.gt.1.0) go to 10
a0 = -0.57721566
a1 = 0.99999193
a2 = -0.24991055
a3 = 0.05519968
a4 = -0.00976004
a5 = 0.00107857
exint=a0+a1*x+a2*x2+a3*x3+a4*x4+a5*x5 - log(x)
return
10 a1 = 8.5733287401
a2 = 18.0590169730
a3 = 8.6347608925
a4 = .2677737343
b1= 9.5733223454
b2= 25.6329561486
b3= 21.0996530827
b4= 3.9584969228
exint=(x4+a1*x3+a2*x2+a3*x+a4)/(x4+b1*x3+b2*x2+b3*x+b4)/(x*exp(x))
return
end
c###################################################################
c
subroutine jrrec2(pt, pcf, kncf, pfit, kermsg)
c
c this is a subroutine to calculate a reaction rate coefficient
c in cm[3]/s as function of electron tempreature in ev for
c radiative recombination for specific transitions to excited
c states of neutral helium.
c
c pcf is the coefficient data array, where
c
c pcf(1) = threshold energy (ev)
c
c pcf(2) = coefficient a (nl)
c
c pt = tepreature (ev)
c
c kermsg = blank if no errors
c
c pfit = reaction rate coefficient in cm[3]/s
c
c written by j. j. smith , iaea atomic and molecular data unit
c
c------------------------------------------------------------------------
c
double precision pt, pcf, pfit
dimension pcf(2)
character*(*) kermsg
c
kermsg = ' '
eth=pcf(1)
a=pcf(2)
c
beta = eth/pt
c
pfit = a * 1.0e-14 * (beta**1.5) * exp(beta) * exint(beta)
return
c
end |