Calculates an array of cross sections for a electron-Hydrogen impact excitation transition from
the state to the state at energy eb
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=Float64), | intent(in) | :: | eb | Collision energy [keV] |
||
integer, | intent(in) | :: | m_max | Number of m states to calculate |
Array of cross sections where the m'th index refers to an excitation from the state to the m'th state []
function e_excit_1_janev(eb, m_max) result(sigma)
!+Calculates an array of cross sections for a electron-Hydrogen impact excitation transition from
!+the \(n=1\) state to the \(m=1..m_{max}\) state at energy `eb`
!+
!+###Equation
!+$$ e + H(1) \rightarrow e + H(m=1..m_{max}) $$
!+
!+###References
!+* Eq. 5 and Table 2 in Ref. 2 [[atomic_tables(module)]]
!+* Eqs. 6-7 in Ref. 2 [[atomic_tables(module)]]
!+
real(Float64), intent(in) :: eb
!+ Collision energy [keV]
integer, intent(in) :: m_max
!+ Number of m states to calculate
real(Float64), dimension(m_max) :: sigma
!+ Array of cross sections where the m'th index refers to
!+an excitation from the \(n=1\) state to the m'th state [\(cm^2\)]
integer :: m
real(Float64) :: x, y, A, B, deltaE
do m=1,m_max
select case (m)
case (1)
sigma(1) = 0.d0
case (2)
sigma(2) = e_excit_1_2_janev(eb)
case (3)
sigma(3) = e_excit_1_3_janev(eb)
case (4)
sigma(4) = e_excit_1_4_janev(eb)
case (5)
sigma(5) = e_excit_1_5_janev(eb)
case DEFAULT
y = 1.0 - (1.d0/m)**2.0
deltaE = 13.6*y
x = (eb*1.d3)/deltaE
A = 2.0 * e_excit_f(1,m)/y
B = 4.0/(m**3.0 * y)*(1.0 + 4.0/(3.0*y) - 0.603/y**2.0)
sigma(m) = 1.76e-16/(y*x)*(1.0 - exp(-0.45*y*x))* &
(A*(log(x) + 1.0/(2.0*x)) + (B - A*log(2.0/y))* &
(1.0 - 1.0/x))
if(x.le.1.0) sigma(m) = 0.d0
end select
enddo
end function e_excit_1_janev