Source code for tardis.plasma.properties.plasma_input

from tardis.plasma.properties.base import (
    Input,
    ProcessingPlasmaProperty,
)

__all__ = [
    "Abundance",
    "AtomicData",
    "ContinuumInteractionSpecies",
    "DilutePlanckianRadField",
    "DilutionFactor",
    "HeliumTreatment",
    "IsotopeAbundance",
    "JBlues",
    "LinkTRadTElectron",
    "NumberDensity",
    "TRadiative",
    "TimeExplosion",
]


[docs] class TRadiative(ProcessingPlasmaProperty): """ Radiative temperature property. Attributes ---------- t_rad : Numpy Array, dtype float """ outputs = ("t_rad",) latex_name = (r"T_{\textrm{rad}}",)
[docs] def calculate(self, dilute_planckian_radiation_field: object) -> object: """Return the radiation-field temperature in cgs units.""" return dilute_planckian_radiation_field.temperature.cgs.value
[docs] class DilutionFactor(ProcessingPlasmaProperty): """ Dilution factor of the radiation field. Attributes ---------- w : Numpy Array, dtype float between 0 and 1 Factor used in nebular ionisation / dilute excitation calculations to account for the dilution of the radiation field. """ outputs = ("w",) latex_name = ("W",)
[docs] def calculate(self, dilute_planckian_radiation_field: object) -> object: """Return the radiation-field dilution factor.""" return dilute_planckian_radiation_field.dilution_factor
[docs] class AtomicData(Input): """Store the atomic-data input.""" outputs = ("atomic_data",)
[docs] class Abundance(Input): """Store elemental abundances.""" outputs = ("abundance",)
[docs] class IsotopeAbundance(Input): """Store isotope abundances.""" outputs = ("isotope_abundance",)
[docs] class TimeExplosion(Input): """Store time since explosion in seconds.""" outputs = ("time_explosion",) latex_name = (r"t_{\textrm{exp}}",)
[docs] class JBlues(Input): """Store line blue-wing mean intensities.""" outputs = ("j_blues",) latex_name = (r"J_{\textrm{blue}}",)
[docs] class LinkTRadTElectron(Input): """Store the electron-to-radiation temperature ratio.""" outputs = ("link_t_rad_t_electron",) latex_name = (r"T_{\textrm{electron}}/T_{\textrm{rad}}",)
[docs] class HeliumTreatment(Input): """Store the configured helium treatment.""" outputs = ("helium_treatment",)
[docs] class ContinuumInteractionSpecies(Input): """Store species with enabled continuum interactions.""" outputs = ("continuum_interaction_species",)
[docs] class NumberDensity(Input): """Store elemental number densities by shell.""" outputs = ("number_density",) latex_name = ("N_{i}",)
[docs] class DilutePlanckianRadField(Input): """Store the dilute Planckian radiation field.""" outputs = ("dilute_planckian_radiation_field",)