def excitation_autoionization_rate(self):
"""
Calculate ionization rate due to excitation autoionization
"""
# Collision constant
c = (const.h.cgs**2)/((2. * np.pi * const.m_e.cgs)**(1.5) * np.sqrt(const.k_B.cgs))
kBTE = u.Quantity([(const.k_B.cgs * self.temperature) / (de.to(u.erg))
for de in self._easplups['delta_energy']])
# Descale upsilon
shape = self._easplups['bt_upsilon'].shape
xs = np.tile(np.linspace(0, 1, shape[1]), shape[0]).reshape(shape)
args = [xs, self._easplups['bt_upsilon'].value, kBTE.value, self._easplups['bt_c'].value,
self._easplups['bt_type']]
upsilon = u.Quantity(list(map(self.burgess_tully_descale, *args)))
# Rate coefficient
rate = c * upsilon * np.exp(-1 / kBTE) / np.sqrt(self.temperature[np.newaxis,:])
return rate.sum(axis=0)
评论列表
文章目录