Calculates an array of cross sections for a proton-Hydrogen impact excitation transitions from
the state to the state at energy eb
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=Float64), | intent(in) | :: | eb | Relative collision energy [keV/amu] |
||
integer, | intent(in) | :: | m_max | Number of m states to calculate |
Array of cross sections where the m'th index refer to the transition from to m []
function p_excit_1_janev(eb, m_max) result(sigma)
!+Calculates an array of cross sections for a proton-Hydrogen impact excitation transitions from
!+the \(n=1\) state to the \(m=1..{m_max}\) state at energy `eb`
!+
!+###Equation
!+$$ H^+ + H(1) \rightarrow H^+ + H(m=1..m_{max}), m \gt 1 $$
!+
!+###References
!+* Eq. 29.b and Table 4 in Ref. 2 for \(m = 2\) [[atomic_tables(module)]]
!+* Eq. 30 and Table 5 in Ref. 2 for \(m = 3-6\) [[atomic_tables(module)]]
!+* Eq. 31 and Table 5 in Ref. 2 for \(m \gt 6\) [[atomic_tables(module)]]
!+
real(Float64), intent(in) :: eb
!+ Relative collision energy [keV/amu]
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 refer to the transition
!+ from \(n=1\) to m [\(cm^2\)]
integer :: m
sigma = 0.d0
do m=1,m_max
select case (m)
case (1)
sigma(1) = 0.d0
case (2)
sigma(2) = p_excit_1_2_janev(eb)
case (3)
sigma(3) = p_excit_1_3_janev(eb)
case (4)
sigma(4) = p_excit_1_4_janev(eb)
case (5)
sigma(5) = p_excit_1_5_janev(eb)
case (6)
sigma(6) = p_excit_1_6_janev(eb)
case DEFAULT
sigma(m) = p_excit_1_6_janev(eb)*(6.0/real(m))**3.0
end select
enddo
end function p_excit_1_janev