def ioneq(self):
"""
Ionization equilibrium data interpolated to the given temperature
Note
----
Will return NaN where interpolation is out of range of the data. For computing
ionization equilibrium outside of this temperature range, it is better to use
`fiasco.Element.equilibrium_ionization`
"""
f = interp1d(self._ioneq[self._dset_names['ioneq_filename']]['temperature'],
self._ioneq[self._dset_names['ioneq_filename']]['ionization_fraction'],
kind='linear', bounds_error=False, fill_value=np.nan)
ioneq = f(self.temperature)
isfinite = np.isfinite(ioneq)
ioneq[isfinite] = np.where(ioneq[isfinite] < 0., 0., ioneq[isfinite])
return u.Quantity(ioneq)
评论列表
文章目录