Calculates an array of total charge exchange cross sections for a Neutral Hydrogen atom
in the n=1...n_max states colliding with a ion with charge q
at energy eb
Uses ADAS(Ref. 4) cross sections if available else uses Janev (Ref. 5) cross sections
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=Float64), | intent(in) | :: | eb | Relative collision energy [keV/amu] |
||
integer, | intent(in) | :: | q | Ion charge |
||
integer, | intent(in) | :: | n_max | Number of initial atomic energy levels/states |
Array of cross sections where the n'th index refers to a charge exchange from the n'th state []
function Aq_cx(eb, q, n_max) result(sigma)
!+ Calculates an array of total charge exchange cross sections for a Neutral Hydrogen atom
!+in the n=1...n_max states colliding with a ion with charge `q` at energy `eb`
!+
!+@note Uses ADAS(Ref. 4) cross sections if available else uses Janev (Ref. 5) cross sections
!+
!+###Equation
!+$$ A^{q+} + H(n=1..n_{max}) \rightarrow A^{(q-1)+} + H^+, q \gt 3 $$
!+
!+###References
!+* Ref. 4 [[atomic_tables(module)]]
!+* Page 174 in Ref. 5 [[atomic_tables(module)]]
real(Float64), intent(in) :: eb
!+ Relative collision energy [keV/amu]
integer, intent(in) :: q
!+ Ion charge
integer, intent(in) :: n_max
!+ Number of initial atomic energy levels/states
real(Float64), dimension(n_max) :: sigma
!+ Array of cross sections where the n'th index refers to a charge exchange from the n'th state [\(cm^2\)]
integer :: n
do n=1,n_max
sigma(n) = Aq_cx_n(eb, q, n)
enddo
end function Aq_cx