Aq_cx Function

public function Aq_cx(eb, q, n_max) result(sigma)

Calculates an array of total charge exchange cross sections for a Neutral Hydrogen atom in the n=1...n_max states 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_max

Number of initial atomic energy levels/states

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

Array of cross sections where the n'th index refers to a charge exchange from the n'th state []


Calls

proc~~aq_cx~~CallsGraph proc~aq_cx Aq_cx proc~aq_cx_n Aq_cx_n proc~aq_cx->proc~aq_cx_n proc~aq_cx_n_adas Aq_cx_n_adas proc~aq_cx_n->proc~aq_cx_n_adas proc~aq_cx_n_janev Aq_cx_n_janev proc~aq_cx_n->proc~aq_cx_n_janev proc~c6_cx_1_adas C6_cx_1_adas proc~aq_cx_n_adas->proc~c6_cx_1_adas proc~c6_cx_2_adas C6_cx_2_adas proc~aq_cx_n_adas->proc~c6_cx_2_adas proc~c6_cx_3_adas C6_cx_3_adas proc~aq_cx_n_adas->proc~c6_cx_3_adas proc~b5_cx_1_adas B5_cx_1_adas proc~aq_cx_n_adas->proc~b5_cx_1_adas proc~b5_cx_2_adas B5_cx_2_adas proc~aq_cx_n_adas->proc~b5_cx_2_adas proc~c6_cx_1_janev C6_cx_1_janev proc~aq_cx_n_janev->proc~c6_cx_1_janev proc~b5_cx_1_janev B5_cx_1_janev proc~aq_cx_n_janev->proc~b5_cx_1_janev

Called by

proc~~aq_cx~~CalledByGraph proc~aq_cx Aq_cx proc~write_bb_h_aq write_bb_H_Aq proc~write_bb_h_aq->proc~aq_cx program~generate_tables generate_tables program~generate_tables->proc~write_bb_h_aq

Contents

Source Code


Source Code

function Aq_cx(eb, q, n_max) result(sigma)
    !+ Calculates an array of total charge exchange cross sections for a Neutral Hydrogen atom
    !+in the n=1...n_max states colliding with a ion with charge `q` at energy `eb`
    !+
    !+@note Uses ADAS(Ref. 4) cross sections if available else uses Janev (Ref. 5) cross sections
    !+
    !+###Equation
    !+$$ A^{q+} + H(n=1..n_{max}) \rightarrow A^{(q-1)+} + H^+, q \gt 3 $$
    !+
    !+###References
    !+* Ref. 4 [[atomic_tables(module)]]
    !+* Page 174 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_max
        !+ Number of initial atomic energy levels/states
    real(Float64), dimension(n_max) :: sigma
        !+ Array of cross sections where the n'th index refers to a charge exchange from the n'th state [\(cm^2\)]

    integer :: n

    do n=1,n_max
        sigma(n) = Aq_cx_n(eb, q, n)
    enddo

end function Aq_cx