p_cx_3_6inf_adas Function

public function p_cx_3_6inf_adas(Erel) result(sigma)

Calculates total cross section for a proton-Hydrogen charge exchange interaction from the state to states at energy Erel

Equation

References

Arguments

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

Relative collision energy [keV/amu]

Return Value real(kind=Float64)

Cross Section []


Called by

proc~~p_cx_3_6inf_adas~~CalledByGraph proc~p_cx_3_6inf_adas p_cx_3_6inf_adas proc~p_cx_3 p_cx_3 proc~p_cx_3->proc~p_cx_3_6inf_adas proc~p_cx_n p_cx_n proc~p_cx_n->proc~p_cx_3 proc~p_cx p_cx proc~p_cx->proc~p_cx_n proc~p_cx_n_m p_cx_n_m proc~p_cx_n_m->proc~p_cx_n proc~write_bb_h_h write_bb_H_H proc~write_bb_h_h->proc~p_cx program~generate_tables generate_tables program~generate_tables->proc~write_bb_h_h

Contents

Source Code


Source Code

function p_cx_3_6inf_adas(Erel) result(sigma)
    !+Calculates total cross section for a proton-Hydrogen charge exchange interaction
    !+from the \(n=3\) state to \(\forall \; m \geq 6\) states at energy `Erel`
    !+
    !+###Equation
    !+ $$H^+ + H(3) \rightarrow H(\forall \; m \geq 6) + H^+$$
    !+###References
    !+* Ref. 4 [[atomic_tables(module)]]
    real(Float64), intent(in) :: Erel
        !+ Relative collision energy [keV/amu]
    real(Float64)             :: sigma
        !+ Cross Section [\(cm^2\)]

    real(Float64), dimension(11), parameter :: a = [ 7.146969470d5,-1.665413326d6, &
                                                     1.735840441d6,-1.065792786d6, &
                                                     4.269334710d5,-1.165954977d5, &
                                                     2.198700496d4,-2.827160468d3, &
                                                     2.372409350d2,-1.173264972d1, &
                                                     2.596865877d-1 ]
    real(Float64), parameter :: n = 3.0
    real(Float64) :: ee, fac, l, p

    if(Erel.lt.90.0) then
        ee = max(Erel * 1.d3 * n**2.0, 1.d3) !keV to eV
        fac = 1.d0
    else
        ee = 90.0 * 1.d3 * n**2.0
        fac = 2.d20 *(Erel*n**2.0)**(-7.0)
    endif

    l = log10(ee)

    p = a(1) + a(2)*l + a(3)*l**2.0 + a(4)*l**3.0 + &
        a(5)*l**4.0   + a(6)*l**5.0 + a(7)*l**6.0 + &
        a(8)*l**7.0   + a(9)*l**8.0 + a(10)*l**9.0 + a(11)*l**10.0

    sigma = fac*(10.d0**p)

end function p_cx_3_6inf_adas