Calculates an matrix of the excitation cross sections for a neutral Hydrogen atom transitioning from
the n=1..n_max
state to the m=1..m_max
states due to a collision an ion with charge q
at energy eb
Uses specialized cross sections if available else uses generic cross sections
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=Float64), | intent(in) | :: | eb | Collision energy [keV] |
||
integer, | intent(in) | :: | q | Ion charge |
||
integer, | intent(in) | :: | n_max | Number of n states to calculate |
||
integer, | intent(in) | :: | m_max | Number of m states to calculate |
Matrix of cross sections where the subscripts refers to
an excitation from the n
state to the m'th state: Aq_excit[n,m] []
function Aq_excit(eb, q, n_max, m_max) result(sigma)
!+Calculates an matrix of the excitation cross sections for a neutral Hydrogen atom transitioning from
!+the n=1..`n_max` state to the m=1..`m_max` states due to a collision an ion with charge `q` at energy `eb`
!+
!+@note Uses specialized cross sections if available else uses generic cross sections
!+
!+###Equation
!+$$ A^{q+} + H(n=1..n_{max}) \rightarrow A^{q+} + H(m=1..m_{max}), q \gt 3, m \gt n$$
!+
!+###References
!+* Page 132 in Ref. 5 [[atomic_tables(module)]]
!+* Page 134 in Ref. 5 [[atomic_tables(module)]]
!+* Page 136 in Ref. 5 [[atomic_tables(module)]]
!+* Page 138 in Ref. 5 [[atomic_tables(module)]]
!+* Page 140 in Ref. 5 [[atomic_tables(module)]]
!+* Page 142 in Ref. 5 [[atomic_tables(module)]]
!+* Page 142 in Ref. 5 [[atomic_tables(module)]]
!+* Page 144 in Ref. 5 [[atomic_tables(module)]]
!+* Page 146 in Ref. 5 [[atomic_tables(module)]]
!+
real(Float64), intent(in) :: eb
!+ Collision energy [keV]
integer, intent(in) :: q
!+ Ion charge
integer, intent(in) :: n_max
!+ Number of n states to calculate
integer, intent(in) :: m_max
!+ Number of m states to calculate
real(Float64), dimension(n_max, m_max) :: sigma
!+ Matrix of cross sections where the subscripts refers to
!+an excitation from the `n` state to the m'th state: Aq_excit[n,m] [\(cm^2\)]
real(Float64), dimension(12,12) :: sigma_full
integer :: n, m
do n=1,12
sigma_full(n,:) = Aq_excit_n(eb, q, n, 12)
enddo
sigma = sigma_full(1:n_max,1:m_max)
end function Aq_excit