def effective_collision_strength(self):
"""
Calculate the effective collision strength or the Maxwellian-averaged collision
strength, typically denoted by upsilon.
Note
----
Need a more efficient way of calculating upsilon for all transitions. Current method is slow ions with
many transitions, e.g. Fe IX and Fe XI
"""
energy_ratio = np.outer(const.k_B.cgs*self.temperature, 1.0/self._scups['delta_energy'].to(u.erg))
upsilon = np.array(list(map(self.burgess_tully_descale, self._scups['bt_t'], self._scups['bt_upsilon'],
energy_ratio.T, self._scups['bt_c'], self._scups['bt_type'])))
upsilon = u.Quantity(np.where(upsilon > 0., upsilon, 0.))
return upsilon.T
评论列表
文章目录