Calculates a matrix of cross sections for proton-Hydrogen charge exchange interactions
from the states at energy Erel
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=Float64), | intent(in) | :: | Erel | Relative collision energy [keV/amu] |
||
integer, | intent(in) | :: | n_max | Number of initial atomic energy levels/states |
||
integer, | intent(in) | :: | m_max | Number of final atomic energy levels/states |
Matrix of cross sections where the subscripts correspond to the transitions: p_cx[n,m] []
function p_cx(Erel, n_max, m_max) result(sigma)
!+Calculates a matrix of cross sections for proton-Hydrogen charge exchange interactions
!+from the \(n=1..n_{max} \rightarrow m=1..m_{max}\) states at energy `Erel`
!+
!+###Equation
!+ $$H^+ + H(n=1..n_{max}) \rightarrow H(m=1..m_{max}) + H^+$$
!+###References
!+* Ref. 2 [[atomic_tables(module)]]
!+* Ref. 4 [[atomic_tables(module)]]
!+* Ref. 8 [[atomic_tables(module)]]
real(Float64), intent(in) :: Erel
!+ Relative collision energy [keV/amu]
integer, intent(in) :: n_max
!+ Number of initial atomic energy levels/states
integer, intent(in) :: m_max
!+ Number of final atomic energy levels/states
real(Float64), dimension(n_max,m_max) :: sigma
!+ Matrix of cross sections where the subscripts correspond
!+ to the \(n \rightarrow m\) transitions: p_cx[n,m] [\(cm^2\)]
real(Float64), dimension(12,12) :: sigma_full
integer :: n, m
do n=1,12
sigma_full(n,:) = p_cx_n(Erel, n, 12)
enddo
sigma = sigma_full(1:n_max,1:m_max)
end function p_cx