e_excit_f Function

public function e_excit_f(n, m) result(fnm)

Oscillator strength for a n m transition due to electron-Hydrogen impact excitation

References

Arguments

Type IntentOptional AttributesName
integer, intent(in) :: n

Initial atomic energy level/state

integer, intent(in) :: m

Final atomic energy level/state

Return Value real(kind=Float64)

Oscillator strength


Called by

proc~~e_excit_f~~CalledByGraph proc~e_excit_f e_excit_f proc~e_excit_1_janev e_excit_1_janev proc~e_excit_1_janev->proc~e_excit_f proc~e_excit_n e_excit_n proc~e_excit_n->proc~e_excit_f 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_f(n, m) result(fnm)
    !+ Oscillator strength for a `n`\(\rightarrow\)`m` transition due to electron-Hydrogen impact excitation
    !+
    !+###References
    !+* Eqs. 11-13 in Ref. 2 [[atomic_tables(module)]]
    integer, intent(in) :: n
        !+ Initial atomic energy level/state
    integer, intent(in) :: m
        !+ Final atomic energy level/state
    real(Float64)       :: fnm
        !+ Oscillator strength

    real(Float64), dimension(3) :: g
    real(Float64) :: x, nf, mf, gs

    nf = real(n)
    mf = real(m)
    x = 1.0 - (nf/mf)**2.0

    select case (n)
        case (1)
            g = [1.133,-0.4059,0.0714]
        case (2)
            g = [1.0785,-0.2319,0.02947]
        case DEFAULT
            g(1) = 0.9935 + 0.2328/nf - 0.1296/nf**2
            g(2) =-1.0/nf * (0.6282 - 0.5598/nf + 0.5299/nf**2)
            g(3) = 1.0/nf**2.0 * (0.3887 - 1.1810/nf + 1.4700/nf**2)
    end select

    gs = g(1) + g(2)/x + g(3)/x**2
    fnm = 32.0/(3.0*sqrt(3.0)*PI) * nf/mf**3 * 1/x**3 * gs

end function e_excit_f