tardis.plasma.equilibrium.rates.heating_cooling_rates module¶
- class tardis.plasma.equilibrium.rates.heating_cooling_rates.AdiabaticThermalRates[source]¶
Bases:
object
Class to solve the adiabatic cooling rate.
- solve(thermal_electron_distribution: ThermalElectronEnergyDistribution, time: Quantity) Quantity [source]¶
Solve for the adiabatic cooling rate.
- Parameters:
- thermal_electron_distributionThermalElectronEnergyDistribution
The thermal electron distribution containing the number density and temperature.
- timeu.Quantity
The time over which the adiabatic cooling is calculated.
- Returns:
- u.Quantity
The adiabatic cooling rate in erg cm^-3 s^-1.
- class tardis.plasma.equilibrium.rates.heating_cooling_rates.BoundFreeThermalRates(photoionization_cross_sections: DataFrame)[source]¶
Bases:
object
Class to solve the bound-free heating and cooling rates.
Initialize the solver.
- Parameters:
- photoionization_cross_sectionspd.DataFrame
Photoionization cross section data.
- solve(level_population: DataFrame, ion_population: DataFrame, thermal_electron_distribution: ThermalElectronEnergyDistribution, level_population_ratio: DataFrame, radiation_field: DilutePlanckianRadiationField | None = None, bound_free_heating_estimator: DataFrame | None = None, stimulated_recombination_estimator: DataFrame | None = None) tuple[Series, Series] [source]¶
Compute the bound-free heating and cooling rates.
- Parameters:
- level_populationpd.DataFrame
Estimated level number density. Columns represent cells.
- ion_populationpd.DataFrame
Estimated ion number density. Columns represent cells.
- thermal_electron_distributionThermalElectronEnergyDistribution
Electron energy distribution containing the number density, temperature and energy.
- level_population_ratiopd.DataFrame
Saha factor for the ion populations as defined in Lucy 03 equation 14. Columns represent cells.
- radiation_fieldRadiationField, optional
A radiation field that can compute its mean intensity.
- bound_free_heating_estimatorpd.DataFrame, optional
Montecarlo bound free heating estimator. Columns represent cells, by default None
- stimulated_recombination_estimatorpd.DataFrame, optional
Montecarlo stimulated recombination estimator. Columns represent cells, by default None
- Returns:
- tuple[pd.Series, pd.Series]
Heating and cooling rates for the bound-free process for all cells.
- class tardis.plasma.equilibrium.rates.heating_cooling_rates.CollisionalBoundThermalRates(lines: DataFrame)[source]¶
Bases:
object
Class to solve the collisional bound heating and cooling rates.
Initialize the solver.
- Parameters:
- linespd.DataFrame
Atomic line data.
- solve(electron_density: Quantity, collisional_deexcitation_rate_coefficient: DataFrame, collisional_excitation_rate_coefficient: DataFrame, level_population: DataFrame) tuple[Series, Series] [source]¶
Compute the collisional bound heating and cooling rates.
- Parameters:
- electron_densityu.Quantity
Electron number density with units.
- collisional_deexcitation_rate_coefficientpd.DataFrame
Collisional deexcitation rate coefficients. Columns represent cells.
- collisional_excitation_rate_coefficientpd.DataFrame
Collisional excitation rate coefficients. Columns represent cells.
- level_populationpd.DataFrame
Level number density. Columns represent cells.
- Returns:
- tuple[pd.Series, pd.Series]
Heating and cooling rates for the collisional bound process for all cells.
- class tardis.plasma.equilibrium.rates.heating_cooling_rates.CollisionalIonizationThermalRates(photoionization_cross_sections: DataFrame)[source]¶
Bases:
object
Class to solve the collisional ionization heating and cooling rates.
Initialize the solver.
- Parameters:
- photoionization_cross_sectionspd.DataFrame
Photoionization cross section data.
- solve(electron_density: Quantity, ion_population: DataFrame, level_population: DataFrame, collisional_ionization_rate_coefficient: DataFrame, level_population_ratio: DataFrame) tuple[Series, Series] [source]¶
Compute the collisional ionization heating and cooling rates.
- Parameters:
- electron_densityu.Quantity
Electron number density with units.
- ion_populationpd.DataFrame
Ion number density. Columns represent cells.
- level_populationpd.DataFrame
Level number density. Columns represent cells.
- collisional_ionization_rate_coefficientpd.DataFrame
Collisional ionization rate coefficients. Columns represent cells.
- level_population_ratiopd.DataFrame
Saha factor for the ion populations as defined in Lucy 03 equation 14. Columns represent cells.
- Returns:
- tuple[pd.Series, pd.Series]
Heating and cooling rates for the collisional ionization process for all cells.
- class tardis.plasma.equilibrium.rates.heating_cooling_rates.FreeFreeThermalRates[source]¶
Bases:
object
Class to solve the free-free heating and cooling rates.
- heating_factor(ion_population: DataFrame, electron_density: float) Series [source]¶
Compute the free-free heating factor.
- Parameters:
- ion_populationpd.DataFrame
Ion number density. Columns represent cells.
- electron_densityfloat
Electron number density value.
- Returns:
- pd.Series
The free-free heating factor for all cells.
- solve(heating_estimator: DataFrame, thermal_electron_distribution: ThermalElectronEnergyDistribution, ion_population: DataFrame) tuple[Series, Series] [source]¶
Compute the free-free heating and cooling rates for the input plasma conditions.
- Parameters:
- heating_estimatorpd.DataFrame
Montecarlo free-free heating estimator value. Columns represent cells.
- thermal_electron_distributionThermalElectronEnergyDistribution
Electron energy distribution containing the number density, temperature and energy.
- ion_populationpd.DataFrame
Ion number density. Columns represent cells.
- Returns:
- tuple[pd.Series, pd.Series]
The heating and cooling rates for the free-free process for all cells.