Plasma Configuration

The plasma configuration gives TARDIS the necessary information to calculate the plasma state (see Plasma):

inital_t_inner is initial temperature (will be updated for most modes of TARDIS — see convergence section) of the black-body on the inner boundary. initial_t_rad is the initial radiation temperature (will be updated for most modes of TARDIS - see convergence section). For debugging purposes and to compare to synapps calculations one can disable the electron scattering. TARDIS will issue a warning that this is not physical. There are currently two plasma_type options available: nebular and lte, which tell TARDIS how to run the ionization equilibrium and level population calculations (see Plasma for more information). The radiative rates describe how to calculate the \(J_\textrm{blue}\) needed for the NLTE treatment calculations and Macro Atom calculations. There are three options for radiative_rates_type:

1) blackbody, in which \(J_\textrm{blue} = \textrm{Blackbody}(T_\textrm{rad})\)

2) dilute-blackbody in which \(J_\textrm{blue} = W \times \textrm{Blackbody}(T_\textrm{rad})\)

3) detailed in which the \(J_\textrm{blue}\) are calculated using an estimator (this is described in Volume-Based Estimators).

TARDIS currently supports three different kinds of line interaction: scatter — a resonance scattering implementation, macroatom — the most complex form of line interaction described in Macro Atom and downbranch a simplified version of macroatom in which only downward transitions are allowed (see Line Interaction Treatments).

Finally, w_epsilon describes the dilution factor to use to calculate \(J_\textrm{blue}\) that are 0, which causes problems with the code (so \(J_\textrm{blue}\) are set to a very small number).

Continuum Interaction

plasma:
    link_t_rad_t_electron: 1.0
    continuum_interaction:
        species:
            - H I
            - H II
            - He I
            - He II
        enable_adiabatic_cooling: True

This will add continuum interactions for all specified species. Setting \(T_\textrm{rad} = T_\textrm{electron}\) through link_t_rad_t_electron: 1.0 is recommended to enforce LTE (unless the simulation uses NLTE treatment). enable_adiabatic_cooling enables adiabatic cooling.

NLTE

nlte:
    coronal_approximation: True
    classical_nebular: False

The NLTE configuration currently allows setting coronal_approximation, which sets all \(J_\textrm{blue}\) to 0. This is useful for debugging with chianti for example. Furthermore, one can enable ‘classical_nebular’ to set all \(\beta_\textrm{Sobolev}\) to 1. Both options are used for checking with other codes and should not be enabled in normal operations.

NLTE Ionization

plasma:
    nlte_ionization_species: [H I, H II, He I, He II]
    nlte_solver: root

This option allows the user to specify which species should be included in the NLTE ionization treatment. Note that the species must be present in the continuum interaction species as well. Here, nlte_solver can be set to root or lu. root is the default and uses a root solver to calculate the NLTE populations. lu uses an iterative LU decomposition scheme to calculate the NLTE populations.

Note

lu iterates over the solutions up to a set tolerance. This tolerance is currently hard-coded to 1e-3. This can be changed in the code by changing the NLTE_POPULATION_SOLVER_TOLERANCE constant in tardis/plasma/properties/nlte_rate_equation_solver.py. Furthermore, the maximum number of iterations is set to 1000. This can be changed in the code by changing the NLTE_POPULATION_SOLVER_MAX_ITERATIONS constant in tardis/plasma/properties/nlte_rate_equation_solver.py.

Warning

lu is generally faster than root but does not solve explicitly for the electron density. Therefore, it is not recommended to use lu for simulations where the electron density is important (e.g. for simulations where NLTE excitation is important).