e_excit_1_janev Function

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

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

Equation

References

Arguments

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

Collision energy [keV]

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 refers to an excitation from the state to the m'th state []


Calls

proc~~e_excit_1_janev~~CallsGraph proc~e_excit_1_janev e_excit_1_janev proc~e_excit_1_5_janev e_excit_1_5_janev proc~e_excit_1_janev->proc~e_excit_1_5_janev proc~e_excit_1_3_janev e_excit_1_3_janev proc~e_excit_1_janev->proc~e_excit_1_3_janev proc~e_excit_1_2_janev e_excit_1_2_janev proc~e_excit_1_janev->proc~e_excit_1_2_janev proc~e_excit_f e_excit_f proc~e_excit_1_janev->proc~e_excit_f proc~e_excit_1_4_janev e_excit_1_4_janev proc~e_excit_1_janev->proc~e_excit_1_4_janev

Called by

proc~~e_excit_1_janev~~CalledByGraph proc~e_excit_1_janev e_excit_1_janev proc~e_excit_n e_excit_n proc~e_excit_n->proc~e_excit_1_janev proc~e_excit_n_m e_excit_n_m proc~e_excit_n_m->proc~e_excit_n proc~e_excit e_excit proc~e_excit->proc~e_excit_n proc~write_bb_h_e write_bb_H_e proc~write_bb_h_e->proc~e_excit program~generate_tables generate_tables program~generate_tables->proc~write_bb_h_e

Contents

Source Code


Source Code

function e_excit_1_janev(eb, m_max) result(sigma)
    !+Calculates an array of cross sections for a electron-Hydrogen impact excitation transition from
    !+the \(n=1\) state to the \(m=1..m_{max}\) state at energy `eb`
    !+
    !+###Equation
    !+$$ e + H(1) \rightarrow e + H(m=1..m_{max}) $$
    !+
    !+###References
    !+* Eq. 5 and Table 2 in Ref. 2 [[atomic_tables(module)]]
    !+* Eqs. 6-7 in Ref. 2 [[atomic_tables(module)]]
    !+
    real(Float64), intent(in)       :: eb
        !+ Collision energy [keV]
    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=1\) state to the m'th state [\(cm^2\)]

    integer :: m
    real(Float64) :: x, y, A, B, deltaE

    do m=1,m_max
        select case (m)
            case (1)
                sigma(1) = 0.d0
            case (2)
                sigma(2) = e_excit_1_2_janev(eb)
            case (3)
                sigma(3) = e_excit_1_3_janev(eb)
            case (4)
                sigma(4) = e_excit_1_4_janev(eb)
            case (5)
                sigma(5) = e_excit_1_5_janev(eb)
            case DEFAULT
                y = 1.0 - (1.d0/m)**2.0
                deltaE = 13.6*y
                x = (eb*1.d3)/deltaE

                A = 2.0 * e_excit_f(1,m)/y
                B = 4.0/(m**3.0 * y)*(1.0 + 4.0/(3.0*y) - 0.603/y**2.0)

                sigma(m) = 1.76e-16/(y*x)*(1.0 - exp(-0.45*y*x))* &
                           (A*(log(x) + 1.0/(2.0*x)) + (B - A*log(2.0/y))* &
                           (1.0 - 1.0/x))

                if(x.le.1.0) sigma(m) = 0.d0
        end select
    enddo

end function e_excit_1_janev