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')