tardis.plasma.equilibrium.thermal_balance module¶
- class tardis.plasma.equilibrium.thermal_balance.ThermalBalanceSolver(bound_free_solver: BoundFreeThermalRates, free_free_solver: FreeFreeThermalRates, collisional_ionization_solver: CollisionalIonizationThermalRates, collisional_bound_solver: CollisionalBoundThermalRates)[source]¶
Bases:
object
Class to solve the thermal balance equation using all available heating and cooling processes. See section 6.4 in Lucy 03, especially equations 55-57.
Initialize the thermal balance solver with individual solver components.
- Parameters:
- bound_free_solver
Solver for bound-free heating and free-bound cooling processes.
- free_free_solver
Solver for free-free heating and cooling processes.
- collisional_ionization_solver
Solver for collisional ionization heating and cooling processes.
- collisional_bound_solver
Solver for collisional bound-bound heating and cooling processes.
- solve(thermal_electron_distribution: ThermalElectronEnergyDistribution, level_population: DataFrame, ion_population: DataFrame, collisional_ionization_rate_coefficient: DataFrame, collisional_deexcitation_rate_coefficient: DataFrame, collisional_excitation_rate_coefficient: DataFrame, free_free_heating_estimator: DataFrame, 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 current heating rate and the fractional heating rate using all available processes. See section 6.4 in Lucy 03.
- Parameters:
- thermal_electron_distributionThermalElectronEnergyDistribution
Electron energy, temperature, and density.
- level_populationpd.DataFrame
Level number density.
- ion_populationpd.DataFrame
Ion number density.
- collisional_ionization_rate_coefficientpd.DataFrame
Collisional ionization rate coefficient.
- collisional_deexcitation_rate_coefficientpd.DataFrame
Collisional deexcitation rate coefficient.
- collisional_excitation_rate_coefficientpd.DataFrame
Collisional excitation rate coefficient.
- free_free_heating_estimatorpd.DataFrame
Montecarlo estimator for free-free heating.
- level_population_ratiopd.DataFrame
Level population to ion population ratio. Lucy 03, equation 14.
- radiation_fieldRadiationField, optional
Radiation field for mean intensity calculation.
- bound_free_heating_estimatorpd.DataFrame, optional
Bound-free heating estimator.
- stimulated_recombination_estimatorpd.DataFrame, optional
Stimulated recombination estimator.
- Returns:
- tuple[pd.Series, pd.Series]
Total heating rate and fractional heating rate for each cell.