tardis.plasma.properties.nlte_rate_equation_solver module¶
- class tardis.plasma.properties.nlte_rate_equation_solver.NLTEPopulationSolverLU(plasma_parent, electron_densities=None)[source]¶
Bases:
ProcessingPlasmaProperty
- calculate(gamma, alpha_sp, alpha_stim, coll_ion_coeff, coll_recomb_coeff, partition_function, levels, level_boltzmann_factor, phi, rate_matrix_index, number_density, nlte_excitation_species)[source]¶
Calculates ion number densities and electron densities using NLTE ionization using an iterative LU decomposition approach.
- Parameters:
- gammapandas.DataFrame
The rate coefficient for radiative ionization.
- alpha_sppandas.DataFrame
The rate coefficient for spontaneous recombination.
- alpha_stimpandas.DataFrame
The rate coefficient for stimulated recombination.
- coll_ion_coeffpandas.DataFrame
The rate coefficient for collisional ionization in the Seaton approximation.
- coll_recomb_coeffpandas.DataFrame
The rate coefficient for collisional recombination.
- partition_functionpandas.DataFrame
General partition function. Indexed by atomic number, ion number.
- levelsMultiIndex
(atomic_number, ion_number, level_number) Index of filtered atomic data.
- level_boltzmann_factorpandas.DataFrame
General Boltzmann factor.
- phipandas.DataFrame
Saha Factors.
- rate_matrix_indexMultiIndex
(atomic_number, ion_number, treatment type) If ion is treated in LTE or nebular ionization, 3rd index is “lte_ion”, if treated in NLTE ionization, 3rd index is “nlte_ion”.
- number_densitypandas.DataFrame
Number density in each shell for each species.
- nlte_excitation_specieslist
List of species treated in NLTE excitation.
- Returns:
- ion_number_densitiespandas.DataFrame
Number density with NLTE ionization treatment.
- electron_densitiesSeries
Electron density with NLTE ionization treatment.
- static calculate_lu_solver_delta(ion_solution, electron_solution, ion_number_density, electron_densities)[source]¶
Calculates relative change between new solution and old value.
- Parameters:
- ion_solutionnumpy.array
Solution vector for the NLTE ionization solver.
- electron_solutionfloat
Solution for the electron density.
- Returns:
- numpy.array
Change in ion number densities.
- float
Change in electron density.
- outputs = ('ion_number_density', 'electron_densities')¶
- class tardis.plasma.properties.nlte_rate_equation_solver.NLTEPopulationSolverRoot(plasma_parent, electron_densities=None)[source]¶
Bases:
ProcessingPlasmaProperty
- calculate(gamma, alpha_sp, alpha_stim, coll_ion_coeff, coll_recomb_coeff, partition_function, levels, level_boltzmann_factor, phi, rate_matrix_index, number_density, nlte_excitation_species)[source]¶
Calculates ion number densities and electron densities using NLTE ionization.
- Parameters:
- gammapandas.DataFrame
The rate coefficient for radiative ionization.
- alpha_sppandas.DataFrame
The rate coefficient for spontaneous recombination.
- alpha_stimpandas.DataFrame
The rate coefficient for stimulated recombination.
- coll_ion_coeffpandas.DataFrame
The rate coefficient for collisional ionization in the Seaton approximation.
- coll_recomb_coeffpandas.DataFrame
The rate coefficient for collisional recombination.
- partition_functionpandas.DataFrame
General partition function. Indexed by atomic number, ion number.
- levelsMultiIndex
(atomic_number, ion_number, level_number) Index of filtered atomic data.
- level_boltzmann_factorpandas.DataFrame
General Boltzmann factor.
- phipandas.DataFrame
Saha Factors.
- rate_matrix_indexMultiIndex
(atomic_number, ion_number, treatment type) If ion is treated in LTE or nebular ionization, 3rd index is “lte_ion”, if treated in NLTE ionization, 3rd index is “nlte_ion”.
- number_densitypandas.DataFrame
Number density in each shell for each species.
- nlte_excitation_specieslist
List of species treated in NLTE excitation.
- Returns:
- ion_number_densitiespandas.DataFrame
Number density with NLTE ionization treatment.
- electron_densitiesSeries
Electron density with NLTE ionization treatment.
- outputs = ('ion_number_density', 'electron_densities')¶