tardis.plasma.equilibrium.rates.collision_strengths module¶
- class tardis.plasma.equilibrium.rates.collision_strengths.CollDeexcRateCoeff[source]¶
 Bases:
object- Attributes:
 - coll_deexc_coeffpandas.DataFrame, dtype float
 Rate coefficient for collisional deexcitation.
- latex_name = ('c_{ul}',)¶
 
- outputs = ('coll_deexc_coeff',)¶
 
- class tardis.plasma.equilibrium.rates.collision_strengths.CollExcRateCoeff[source]¶
 Bases:
object- Attributes:
 - coll_exc_coeffpandas.DataFrame, dtype float
 Rate coefficient for collisional excitation.
- latex_name = ('c_{lu}',)¶
 
- outputs = ('coll_exc_coeff',)¶
 
- class tardis.plasma.equilibrium.rates.collision_strengths.CollisionalCrossSections(collision_cross_sections)[source]¶
 Bases:
object
- class tardis.plasma.equilibrium.rates.collision_strengths.UpsilonCMFGENSolver(upsilon_temperatures, upsilon_g_data)[source]¶
 Bases:
object- Attributes:
 - yg_datapandas.DataFrame
 Table of thermally averaged effective collision strengths (divided by the statistical weight of the lower level) Y_ij / g_i . Columns are temperatures.
- t_ygnumpy.ndarray
 Temperatures at which collision strengths are tabulated.
- yg_indexPandas MultiIndex
 - delta_E_ygpandas.DataFrame
 Energy difference between upper and lower levels coupled by collisions.
- yg_idxpandas.DataFrame
 Source_level_idx and destination_level_idx of collision transitions. Indexed by atomic_number, ion_number, level_number_lower, level_number_upper.
- class tardis.plasma.equilibrium.rates.collision_strengths.UpsilonChiantiSolver(upsilon_data)[source]¶
 Bases:
objectSolver for Upsilon / g_i for Chianti data.
- solve(t_electrons)[source]¶
 Solve the Upsilon / g_lower collisional values for arbitrary temperatures.
- Parameters:
 - t_electronsnp.ndarray
 1D array of electron temperatures to interpolate over
- Returns:
 - pd.DataFrame
 DataFrame with columns of Upsilon / g_lower per transition and temperature.
- upsilon_scaling(row, t_electrons)[source]¶
 Scales Upsilon from Chianti data using equations 23-38 from Burgess & Tully 1992 - A&A 254, 436B.
- Parameters:
 - rowpd.Series
 DataFrame row of Chianti collisional data
- t_electronsnp.ndarray
 1D array of electron temperatures to interpolate over
- Returns:
 - pd.Series
 Scaled Upsilon / g_lower
- Raises:
 - ValueError
 Incorrect scaling type provided
- class tardis.plasma.equilibrium.rates.collision_strengths.UpsilonRegemorterSolver(transition_data, g_bar=0.2)[source]¶
 Bases:
object- solve(t_electrons)[source]¶
 Calculate collision strengths in the van Regemorter approximation.
This function calculates thermally averaged effective collision strengths (divided by the statistical weight of the lower level) Y_ij / g_i using the van Regemorter approximation. A very good description can be found in Mihalas Chapter on collisional rates
- Parameters:
 - atomic_datatardis.io.atom_data.AtomData
 - t_electronsnumpy.ndarray
 - continuum_interaction_speciespandas.MultiIndex
 
- Returns:
 - pandas.DataFrame
 Thermally averaged effective collision strengths (divided by the statistical weight of the lower level) Y_ij / g_i
Notes
See Eq. 9.58 in [2].
References
[1]van Regemorter, H., “Rate of Collisional Excitation in Stellar Atmospheres.”, The Astrophysical Journal, vol. 136, p. 906, 1962. doi:10.1086/147445.
[2]Hubeny, I. and Mihalas, D., “Theory of Stellar Atmospheres”. 2014.
- tardis.plasma.equilibrium.rates.collision_strengths.calculate_upsilon_g_2_collisional_rates(yg, t_electrons, delta_energies)[source]¶
 
- tardis.plasma.equilibrium.rates.collision_strengths.exp1_times_exp(x)[source]¶
 Product of the Exponential integral E1 and an exponential.
This function calculates the product of the Exponential integral E1 and an exponential in a way that also works for large values.
- Parameters:
 - xarray_like
 Input values.
- Returns:
 - array_like
 Output array.