Calculates an array of the generic excitation cross sections for a neutral Hydrogen atom transitioning from
the n
state to the m=1..m_max
states due to a collision an ion with charge q
at energy eb
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=Float64), | intent(in) | :: | eb | Collision energy [keV] |
||
integer, | intent(in) | :: | q | Ion charge |
||
integer, | intent(in) | :: | n | Initial atomic energy level/state |
||
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 n
state to the m'th state []
function Aq_excit_n_janev(eb, q, n, m_max) result(sigma)
!+Calculates an array of the generic excitation cross sections for a neutral Hydrogen atom transitioning from
!+the `n` state to the m=1..`m_max` states due to a collision an ion with charge `q` at energy `eb`
!+
!+###Equation
!+$$ A^{q+} + H(n) \rightarrow A^{q+} + H(m=1..m_{max}), q \gt 3, m \gt n, n \gt 3 $$
!+
!+###References
!+* 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
!+ Initial atomic energy level/state
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` state to the m'th state [\(cm^2\)]
integer :: m
real(Float64) :: nf, mf, qf, etil, hi, s
real(Float64) :: D, A, G, L, F, H, y, zpl, zmi, C2pl, C2mi
nf = real(n)
qf = real(q)
sigma = 0.d0
m_loop: do m=1,m_max
mf = real(m)
if(n.ge.m) then
sigma(m) = 0.d0
cycle m_loop
endif
etil = eb/(25.0*qf)
hi = 2.0**(0.322*(1.0 - sqrt(2.0/qf)))
s = (mf - nf)
D = exp(-1.0/(nf*mf*etil**2))
A = 8.0/(3.0*s) * (mf/(s*nf))**3 * (0.184 - 0.04/s**(2.0/3.0)) * &
(1.0 - 0.2*s/(nf*mf))**(1.0 + 2.0*s)
G = 0.5*(etil*nf**2.0 / (mf - 1.0/mf))**3.0
L = log(1.0 + 0.53*etil**2.0 * nf*(mf - 2.0/mf )/(1.0 + 0.4*etil))
F = (1.0 - 0.3*s*D/(nf*mf))**(1.0 + 2.0*s)
y = 1.0/(1.0 - D*log(18*s)/(4.0*s))
zpl = 2.0/(etil*nf**2*(sqrt(2.0 - nf**2/mf**2) + 1.0))
zmi = 2.0/(etil*nf**2*(sqrt(2.0 - nf**2/mf**2) - 1.0))
C2pl = zpl**2*log(1.0 + 2.0*zpl/3.0)/(2.0*y + 3.0*zpl/2.0)
C2mi = zmi**2*log(1.0 + 2.0*zmi/3.0)/(2.0*y + 3.0*zmi/2.0)
H = C2mi - C2pl
sigma(m) = q*hi*8.86e-17*nf**4/etil*(A*D*L+F*G*H)
enddo m_loop
end function Aq_excit_n_janev