Python |
def h_hex_janev_nm(E, A1, A2):
"""
This function calculates proton impact excitation cross sections (in cm2) of
H n>3 to m>n
param E: requested proton-impact energy in keV/u
type E: float, np.ndarray
param Ai: original main quantum number
type Ai: integer
"""
e = E/25
s = A2 - A1
D = np.exp(-1/(A1*A2*e**2))
y = 1/(1 - D*np.log(18*s)/(4*s))
zp = 2/(e*A1**2*((2-A1**2/A2**2)**0.5+1))
zm = 2/(e*A1**2*((2-A1**2/A2**2)**0.5-1))
B = 8/(3*s)*(A2/(s*A1))**3*(0.184-0.04/s**(2/3))*(1-0.2*s/(A1*A2))**(1+2*s)
L = np.log((1+0.53*e**2*A1*(A2-2/A2))/(1+0.4*e))
G = 0.5*(e*A1**2/(A2-1/A2))**3
F = (1-0.3*s*D/(A1*A2))**(1+2*s)
H = zm**2*np.log(1+2*zm/3)/(2*y + 3*zm/2) - zp**2*np.log(1+2*zp/3)/(2*y + 3*zp/2)
sigma = 8.8e-17*A1**4*(B*D*L + F*G*H)/e
return sigma |