tardis.iip_plasma.properties.ion_population module¶
- class tardis.iip_plasma.properties.ion_population.IonNumberDensity(plasma_parent, ion_zero_threshold=1e-20)[source]¶
Bases:
ProcessingPlasmaProperty- Attributes:
- ion_number_densityPandas DataFrame, dtype float
Index atom number, ion number. Columns zones.
- electron_densitiesNumpy Array, dtype float
- Convergence process to find the correct solution. A trial value for
- the electron density is initiated in a particular zone. The ion
- number densities are then calculated using the Saha equation. The
- electron density is then re-calculated by using the ion number
- densities to sum over the number of free electrons. If the two values
- for the electron densities are not similar to within the threshold
- value, a new guess for the value of the electron density is chosen
- and the process is repeated.
- latex_name = ('N_{i,j}', 'n_{e}')¶
- outputs = ('ion_number_density', 'electron_densities')¶
- class tardis.iip_plasma.properties.ion_population.LTEIonNumberDensity(plasma_parent, ion_zero_threshold=1e-20)[source]¶
Bases:
IonNumberDensity- latex_name = ('N_{i,j}^*',)¶
- outputs = ('lte_ion_number_density',)¶
- class tardis.iip_plasma.properties.ion_population.NLTEIonNumberDensity(plasma_parent)[source]¶
Bases:
ProcessingPlasmaProperty- calculate(phi, alpha_stim, alpha_sp, gamma, coll_ion_coeff, coll_recomb_coeff, number_density, level_boltzmann_factor)[source]¶
- latex_name = ('N_{i,j}', 'n_{e}')¶
- outputs = ('ion_number_density', 'electron_densities')¶
- class tardis.iip_plasma.properties.ion_population.PhiSahaElectrons(plasma_parent)[source]¶
Bases:
PhiSahaLTE- latex_name = ('\\Phi_Te',)¶
- outputs = ('phi_Te',)¶
- class tardis.iip_plasma.properties.ion_population.PhiSahaLTE(plasma_parent)[source]¶
Bases:
ProcessingPlasmaProperty- Attributes:
- phiPandas DataFrame, dtype float
Used for LTE ionization. Indexed by atomic number, ion number. Columns are zones.
- broadcast_ionization_energy = None¶
- latex_formula = ('\\dfrac{2Z_{i,j+1}}{Z_{i,j}}\\Big( \\dfrac{2\\pi m_{e}/\\beta_{\\textrm{rad}}}{h^2} \\Big)^{3/2}e^{\\dfrac{-\\chi_{i,j}}{kT_{ \\textrm{rad}}}}',)¶
- latex_name = ('\\Phi',)¶
- outputs = ('phi',)¶
- class tardis.iip_plasma.properties.ion_population.PhiSahaLTECont(plasma_parent)[source]¶
Bases:
PhiSahaLTE- latex_name = ('\\Phi_lte',)¶
- outputs = ('phi_lte',)¶
- class tardis.iip_plasma.properties.ion_population.PhiSahaNebular(plasma_parent)[source]¶
Bases:
ProcessingPlasmaProperty- Attributes:
- phiPandas DataFrame, dtype float
Used for nebular ionization. Indexed by atomic number, ion number. Columns are zones.
- static calculate(t_rad, w, zeta_data, t_electrons, delta, g_electron, beta_rad, partition_function, ionization_data)[source]¶
- latex_formula = ('W(\\delta\\zeta_{i,j}+W(1-\\zeta_{i,j}))\\left( \\dfrac{T_{\\textrm{electron}}}{T_{\\textrm{rad}}} \\right)^{1/2}',)¶
- latex_name = ('\\Phi',)¶
- outputs = ('phi',)¶
- class tardis.iip_plasma.properties.ion_population.RadiationFieldCorrection(plasma_parent=None, departure_coefficient=None, chi_0_species=(1, 1), delta_treatment=None)[source]¶
Bases:
ProcessingPlasmaProperty- Attributes:
- deltaPandas DataFrame, dtype float
Calculates the radiation field correction (see Mazzali & Lucy, 1993) if not given as input in the config. file. The default chi_0_species is Ca II, which is good for type Ia supernovae. For type II supernovae, (1, 1) should be used. Indexed by atomic number, ion number. The columns are zones.
- latex_name = ('\\delta',)¶
- outputs = ('delta',)¶