Aq_ioniz_n_janev Function

public function Aq_ioniz_n_janev(eb, q, n) result(sigma)

Calculates the generic total ionization cross section for a Neutral Hydrogen atom in the n state colliding with a ion with charge q at energy eb

Equation

References

Arguments

TypeIntentOptionalAttributesName
real(kind=Float64), intent(in) :: eb

Relative collision energy [keV/amu]

integer, intent(in) :: q

Ion charge

integer, intent(in) :: n

Initial atomic energy level/state

Return Value real(kind=Float64)

Cross Section []


Called by

proc~~aq_ioniz_n_janev~~CalledByGraph proc~aq_ioniz_n_janev Aq_ioniz_n_janev proc~aq_ioniz_n Aq_ioniz_n proc~aq_ioniz_n->proc~aq_ioniz_n_janev proc~aq_ioniz Aq_ioniz proc~aq_ioniz->proc~aq_ioniz_n proc~write_bb_h_aq write_bb_H_Aq proc~write_bb_h_aq->proc~aq_ioniz program~generate_tables generate_tables program~generate_tables->proc~write_bb_h_aq

Contents

Source Code


Source Code

function Aq_ioniz_n_janev(eb, q, n) result(sigma)
    !+ Calculates the generic total ionization cross section for a Neutral Hydrogen atom
    !+in the `n` state colliding with a ion with charge `q` at energy `eb`
    !+
    !+###Equation
    !+$$ A^{q+} + H(n) \rightarrow A^{q+} + H^+ + e, n \gt 1, q \gt 3 $$
    !+
    !+###References
    !+* Page 160 in Ref. 5 [[atomic_tables(module)]]
    real(Float64), intent(in) :: eb
        !+ Relative collision energy [keV/amu]
    integer, intent(in)       :: q
        !+ Ion charge
    integer, intent(in)       :: n
        !+ Initial atomic energy level/state
    real(Float64)             :: sigma
        !+ Cross Section [\(cm^2\)]

    real(Float64), parameter :: M = 0.283d0
    real(Float64), parameter :: B = 4.04d0
    real(Float64), parameter :: c = 137.d0
    real(Float64), parameter :: g = 0.662d0
    real(Float64), parameter :: lambda = 0.76d0

    real(Float64) :: nf, qf, u, v, sigma_b

    nf = real(n)
    qf = real(q)
    v = sqrt(eb/25.)
    u = nf*v

    sigma_b = 3.52d-16 * (nf**4) * (qf**2)/(u**2) * &
              (M * (log((u**2)/(c**2 - u**2)) - (u**2)/(c**2)) + B - g/u**2)
    sigma_b = max(sigma_b,0.d0)

    sigma = exp(-lambda*qf/u**2)*sigma_b

end function Aq_ioniz_n_janev