p_excit_1_janev Function

public function p_excit_1_janev(eb, m_max) result(sigma)

Calculates an array of cross sections for a proton-Hydrogen impact excitation transitions from the state to the state at energy eb

Equation

References

Arguments

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

Relative collision energy [keV/amu]

integer, intent(in) :: m_max

Number of m states to calculate

Return Value real(kind=Float64), dimension(m_max)

Array of cross sections where the m'th index refer to the transition from to m []


Calls

proc~~p_excit_1_janev~~CallsGraph proc~p_excit_1_janev p_excit_1_janev proc~p_excit_1_6_janev p_excit_1_6_janev proc~p_excit_1_janev->proc~p_excit_1_6_janev proc~p_excit_1_2_janev p_excit_1_2_janev proc~p_excit_1_janev->proc~p_excit_1_2_janev proc~p_excit_1_3_janev p_excit_1_3_janev proc~p_excit_1_janev->proc~p_excit_1_3_janev proc~p_excit_1_4_janev p_excit_1_4_janev proc~p_excit_1_janev->proc~p_excit_1_4_janev proc~p_excit_1_5_janev p_excit_1_5_janev proc~p_excit_1_janev->proc~p_excit_1_5_janev

Called by

proc~~p_excit_1_janev~~CalledByGraph proc~p_excit_1_janev p_excit_1_janev proc~p_excit_n p_excit_n proc~p_excit_n->proc~p_excit_1_janev proc~p_excit_n_m p_excit_n_m proc~p_excit_n_m->proc~p_excit_n proc~p_excit p_excit proc~p_excit->proc~p_excit_n proc~write_bb_h_h write_bb_H_H proc~write_bb_h_h->proc~p_excit program~generate_tables generate_tables program~generate_tables->proc~write_bb_h_h

Contents

Source Code


Source Code

function p_excit_1_janev(eb, m_max) result(sigma)
    !+Calculates an array of cross sections for a proton-Hydrogen impact excitation transitions from
    !+the \(n=1\) state to the \(m=1..{m_max}\) state at energy `eb`
    !+
    !+###Equation
    !+$$ H^+ + H(1) \rightarrow H^+ + H(m=1..m_{max}), m \gt 1 $$
    !+
    !+###References
    !+* Eq. 29.b and Table 4 in Ref. 2 for \(m = 2\) [[atomic_tables(module)]]
    !+* Eq. 30 and Table 5 in Ref. 2 for \(m = 3-6\) [[atomic_tables(module)]]
    !+* Eq. 31 and Table 5 in Ref. 2 for \(m \gt 6\) [[atomic_tables(module)]]
    !+
    real(Float64), intent(in)       :: eb
        !+ Relative collision energy [keV/amu]
    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 refer to the transition
        !+ from \(n=1\) to m [\(cm^2\)]

    integer :: m
    sigma = 0.d0

    do m=1,m_max
        select case (m)
            case (1)
                sigma(1) = 0.d0
            case (2)
                sigma(2) = p_excit_1_2_janev(eb)
            case (3)
                sigma(3) = p_excit_1_3_janev(eb)
            case (4)
                sigma(4) = p_excit_1_4_janev(eb)
            case (5)
                sigma(5) = p_excit_1_5_janev(eb)
            case (6)
                sigma(6) = p_excit_1_6_janev(eb)
            case DEFAULT
                sigma(m) = p_excit_1_6_janev(eb)*(6.0/real(m))**3.0
        end select
    enddo

end function p_excit_1_janev