p_cx_n_m Function

public function p_cx_n_m(Erel, n, m) result(sigma)

Calculates cross section for a proton-Hydrogen charge exchange interaction from the n state to the m state at energy Erel

Equation

References

Arguments

Type IntentOptional AttributesName
real(kind=Float64), intent(in) :: Erel

Relative collision energy [keV/amu]

integer, intent(in) :: n

Initial atomic energy level/state

integer, intent(in) :: m

Final atomic energy level/state

Return Value real(kind=Float64)

Cross Section []


Calls

proc~~p_cx_n_m~~CallsGraph proc~p_cx_n_m p_cx_n_m proc~p_cx_n p_cx_n proc~p_cx_n_m->proc~p_cx_n proc~p_cx_janev p_cx_janev proc~p_cx_n->proc~p_cx_janev proc~m_spread m_spread proc~p_cx_n->proc~m_spread proc~p_cx_3_5_adas p_cx_3_5_adas proc~p_cx_n->proc~p_cx_3_5_adas proc~p_cx_3_4_adas p_cx_3_4_adas proc~p_cx_n->proc~p_cx_3_4_adas proc~p_cx_2 p_cx_2 proc~p_cx_n->proc~p_cx_2 proc~p_cx_3 p_cx_3 proc~p_cx_n->proc~p_cx_3 proc~p_cx_1 p_cx_1 proc~p_cx_n->proc~p_cx_1 proc~p_cx_1_4_adas p_cx_1_4_adas proc~p_cx_n->proc~p_cx_1_4_adas proc~p_cx_1_janev p_cx_1_janev proc~p_cx_janev->proc~p_cx_1_janev proc~p_cx_2_janev p_cx_2_janev proc~p_cx_janev->proc~p_cx_2_janev proc~p_cx_n_janev p_cx_n_janev proc~p_cx_janev->proc~p_cx_n_janev proc~p_cx_3_janev p_cx_3_janev proc~p_cx_janev->proc~p_cx_3_janev proc~p_cx_2->proc~p_cx_janev proc~p_cx_2->proc~m_spread proc~p_cx_1_2_adas p_cx_1_2_adas proc~p_cx_2->proc~p_cx_1_2_adas proc~p_cx_2_3_adas p_cx_2_3_adas proc~p_cx_2->proc~p_cx_2_3_adas proc~p_cx_2_2_adas p_cx_2_2_adas proc~p_cx_2->proc~p_cx_2_2_adas proc~p_cx_3->proc~p_cx_janev proc~p_cx_3->proc~m_spread proc~p_cx_3->proc~p_cx_3_5_adas proc~p_cx_3->proc~p_cx_3_4_adas proc~p_cx_3->proc~p_cx_1 proc~p_cx_3_2_adas p_cx_3_2_adas proc~p_cx_3->proc~p_cx_3_2_adas proc~p_cx_3_3_adas p_cx_3_3_adas proc~p_cx_3->proc~p_cx_3_3_adas proc~p_cx_3_6inf_adas p_cx_3_6inf_adas proc~p_cx_3->proc~p_cx_3_6inf_adas proc~p_cx_1_3_adas p_cx_1_3_adas proc~p_cx_3->proc~p_cx_1_3_adas proc~p_cx_1->proc~p_cx_janev proc~p_cx_1->proc~p_cx_1_4_adas proc~p_cx_1_1_adas p_cx_1_1_adas proc~p_cx_1->proc~p_cx_1_1_adas proc~p_cx_1->proc~p_cx_1_2_adas proc~p_cx_1->proc~p_cx_1_3_adas proc~p_cx_1_2_janev p_cx_1_2_janev proc~p_cx_1->proc~p_cx_1_2_janev proc~aljan1 aljan1 proc~p_cx_1_2_janev->proc~aljan1

Contents

Source Code


Source Code

function p_cx_n_m(Erel, n, m) result(sigma)
    !+Calculates cross section for a proton-Hydrogen charge exchange interaction
    !+from the `n` state to the `m` state at energy `Erel`
    !+
    !+###Equation
    !+ $$H^+ + H(n) \rightarrow H(m) + 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
        !+ Initial atomic energy level/state
    integer, intent(in)       :: m
        !+ Final atomic energy level/state
    real(Float64)             :: sigma
        !+ Cross Section [\(cm^2\)]

    integer :: m_max = 12
    real(Float64), dimension(12) :: sigma_m

    sigma_m = p_cx_n(Erel, n, m_max)
    if(m.le.0) then
        sigma = sum(sigma_m)
    else
        sigma = sigma_m(m)
    endif

end function p_cx_n_m