Fit Function: h_eex_johnson

Fit Function \[\begin{align*} \sigma_{ex}^{n>2 \rightarrow m>n}(E) &= \frac{1.76 \times 10^{-16}A_1^2I}{A_2E} \Bigg[ 1 - e^{-A_3A_2 \frac{E}{I}} \Bigg] \\ & \Bigg[A_4 \bigg(\ln\bigg(\frac{E}{I}\bigg) + \frac{I}{2E}\bigg) + \bigg(A_5 - A_4\ln\frac{2A_1^2}{A_2}\bigg)\bigg(1 - \frac{I}{E} \bigg) \Bigg] \end{align*}\]
Comments Python code requires NumPy imported as `np`.

Python

Arguments
namedescriptionunitstype(s)
E impact energy eV float, np.ndarray
A1 fit coefficient float
A2 fit coefficient float
A3 fit coefficient float
A4 fit coefficient cm2 float
A5 fit coefficient cm2 float
I threshold energy eV float
Return values
namedescriptionunitstype(s)
sigma cross section cm2 float, np.ndarray
Code
def h_eex_johnson(E, A1, A2, A3, A4, A5, I):
    """
    This function calculates electron impact excitation cross sections (in cm2) of 
    H n > 2 to m > n , with exception of n=2 to n=3.
    param E: requested electron-impact energy in eV
    type E: float, np.ndarray
    param Ai: fit coefficient 
    type Ai: float
    param I: threshold energy in eV
    type I: float
    """
    sigma = 1.76e-16*A1**2/(A3*E/I)*(1-np.exp(-1*A3*A4*E/I)) * (A5*(np.log(E/I)+1/(2*E/I)) + 
                    (A6-A5 * np.log(2*A1**2/A3))*(1-1/(E/I)))
    return sigma