vice.yields.sneia.settings

The VICE dataframe: global settings for SN Ia yields

For each chemical element, this object stores the current type Ia supernova (SN Ia) nucleosynthetic yield setting. See Notes below for mathematical details.

Note

Modifying yield settings through this dataframe is equivalent to going through the vice.elements module.

Indexing

  • str [case-insensitive]elemental symbols

    This dataframe must be indexed by the symbol of an element recognized by VICE as it appears on the periodic table.

Item Assignment

For each chemical element, the SN Ia yield can be assigned either:

  • real number : denotes a constant, metallicity-independent yield.

  • <function>Mathematical function describing the yield.

    Must accept the metallicity by mass \(Z\) as the only parameter.

    Note

    Functions of metallicity for yields of delayed enrichment channels like SNe Ia can significantly increase the required integration time in simulations, especially for fine timestepping.

    New in version 1.2.0: In earlier versions, VICE did not support SN Ia yields which vary with metallicity.

Functions

  • keys

  • todict

  • restore_defaults

  • factory_settings

  • save_defaults

Notes

VICE implements the rate of enrichment from a single stellar population (SSP) according to a delay-time distribution \(R_\text{Ia}\), which here has units of \(\text{Gyr}^{-1}\). For an SSP of age \(\tau\), the rate of production of some element due to SNe Ia is given by:

\[\dot{M}_\text{Ia} = y_\text{Ia} M_\star R_\text{Ia}(\tau)\]

where \(M_\star\) is the mass of the SSP and \(y_\text{Ia}\) is the yield of the element. As with all other yields in VICE, these are net rather than gross yields in that they quantify only the mass of a given element which is newly produced. In a one-zone model, all stellar populations must be taken into account, which necessitates an integral over the star formation history:

\[\dot{M}_\text{Ia} = \int_0^t \dot{M}_\star R_\text{Ia}(\tau) dt\]

where \(\dot{M}_\star\) is the star formation rate and \(t\) is the current time in the model. In a multi-zone model, the rate is a simple summation over all stellar populations in a given zone at some time:

\[\dot{M}_\text{Ia} = \sum_i M_{\star,i}R_\text{Ia}(\tau_i)\]

where the index \(i\) refers to the \(i\)’th SSP in a given zone. For futher details, see VICE’s science documentation: https://vice-astro.readthedocs.io/en/latest/science_documentation/index.html.

Note

The normalization of \(R_\text{Ia}\) is irrelevant here, because VICE will always normalize it such that its integral from the minimum delay time up to 15 Gyr is equal to 1. Other sections of VICE’s documentation refer to \(R_\text{Ia}\) as having units of \(M_\odot^{-1} \text{Gyr}^{-1}\) as published in the literature; here we note it as having units of \(\text{Gyr}^{-1}\) for simplicity.

Example Code

>>> import vice
>>> vice.yields.sneia.settings["fe"] = 0.001
>>> vice.yields.sneia.settings["Fe"]
        0.001
>>> vice.yields.sneia.settings["FE"] = 0.0012
>>> vice.yields.sneia.settings["fe"]
        0.0012
>>> def f(z):
        return 0.005 + 0.002 * (z / 0.014)
>>> vice.yields.sneia.settings["Fe"] = f
>>> vice.yields.sneia.settings["fe"]
        <function __main__.f(z)>