AstrochemicalYields
Documentation for AstrochemicalYields.
AstrochemicalYields.Kobayashi2006AstrochemicalYields.Nomoto2006AstrochemicalYields.Portinari1998AstrochemicalYields.α_elementsAstrochemicalYields.AbstractYieldAstrochemicalYields.Kobayashi2006.Kobayashi2006SNAstrochemicalYields.Nomoto2006.Nomoto2006SNAstrochemicalYields.Portinari1998.Portinari1998SNAstrochemicalYields.ejecta_alpha_massAstrochemicalYields.ejecta_massAstrochemicalYields.ejecta_metal_massAstrochemicalYields.extend_boundsAstrochemicalYields.interp_linAstrochemicalYields.interp_logAstrochemicalYields.isotopesAstrochemicalYields.preSN_massAstrochemicalYields.remnant_massAstrochemicalYields.α_isotopes
AstrochemicalYields.α_elements — Constant
List of α elements used in ejecta_alpha_mass taken from Nomoto+2006. C is sometimes included, but not here.
AstrochemicalYields.AbstractYield — Type
AbstractYield is the abstract supertype for all yield tables. Yield table subtypes should be made callable with initial metal mass fraction Z and mass M (in solar masses), returning the yield for all isotopes in units of solar masses. Subtypes should additionally implement the following methods:
AstrochemicalYields.ejecta_alpha_mass — Method
ejecta_alpha_mass(table::AbstractYield, Z, M)Returns the mass of ejected alpha elements (O, Ne, Mg, Si, S, Ar, Ca, and Ti) for a star with initial metallicity Z and initial stellar mass M (masses in solar masses).
AstrochemicalYields.ejecta_mass — Method
ejecta_mass(table::AbstractYield, Z, M)Returns the mass of all ejected materials for a star with initial metallicity Z and initial stellar mass M (masses in solar masses). This is generally preSN_mass(...) - remnant_mass(...).
AstrochemicalYields.ejecta_metal_mass — Method
ejecta_metal_mass(table::AbstractYield, Z, M)Returns the mass of ejected metals (elements heavier than helium) for a star with initial metallicity Z and initial stellar mass M (masses in solar masses).
AstrochemicalYields.extend_bounds — Method
extend_bounds(x, N::Integer)If x isa Number, returns an SVector{N, typeof(x)}(x), else returns x. Used for adapting constant interpolations for Interpolations.jl into multi-valued SVectors.
AstrochemicalYields.interp_lin — Method
interp_lin(x, y, t)Linearly interpolates the value of y as a function of x at the point t.
Arguments
x: Sorted array of independent variables. Must be pre-sorted; this function does not check.y: Array of dependent variables, the same size asx.t: The point at which to interpolate.
Returns
The interpolated value of y corresponding to t.
Notes
- If
tis outside the range ofx, the function throws an error.
AstrochemicalYields.interp_log — Method
interp_log(x, y, t)Linearly interpolates the value of y as a function of log(x) at the point log(t). For some types of data, you would rather interpolate in log(x) than x because log(x) is smoother, reducing interpolation error. This function computes only the logarithms of the x values that it needs for the interpolation, avoiding the need to precompute log.(x).
Arguments
x: Sorted array of independent variables. Must be pre-sorted; this function does not check.y: Array of dependent variables, the same size asx.t: The point at which to interpolate.
Returns
The interpolated value of y corresponding to t.
Notes
- If
tis outside the range ofx, the function throws an error.
AstrochemicalYields.isotopes — Method
isotopes(table::AbstractYield)Returns a NTuple{N, Symbol} giving identifiers for the isotopes available in the yield table.
AstrochemicalYields.preSN_mass — Method
remnant_mass(table::AbstractYield, Z, M)Returns the pre-supernova mass of a star with initial metallicity Z and initial stellar mass M (masses in solar masses). This is not always equal to the stellar initial mass as massive stars can lose mass due to winds before becoming supernovae.
AstrochemicalYields.remnant_mass — Method
remnant_mass(table::AbstractYield, Z, M)Returns the remnant mass of a star with initial metallicity Z and initial stellar mass M (masses in solar masses).
AstrochemicalYields.α_isotopes — Method
α_isotopes(x::AbstractYield)Convenience function that returns the isotope symbols for the given x::AbstractYield for the α-elements O, Ne, Mg, Si, S, Ar, Ca, Ti.
julia> AstrochemicalYields.α_isotopes(Nomoto2006SN())
(:O16, :O17, :O18, :Ne20, :Ne21, :Ne22, :Mg24, :Mg25, :Mg26, :Si28, :Si29, :Si30, :S32, :S33, :S34, :S36, :Ar36, :Ar38, :Ar40, :Ca40, :Ca42, :Ca43, :Ca44, :Ca46, :Ca48, :Ti46, :Ti47, :Ti48, :Ti49, :Ti50)AstrochemicalYields.Kobayashi2006 — Module
Module implementing the Kobayashi+2006 core-collapse supernova yield tables.
AstrochemicalYields.Kobayashi2006.Kobayashi2006SN — Type
Kobayashi2006SN(; bounds=Interpolations.Throw()) <: AbstractYieldLoad the Kobayashi+2006 core-collapse supernova yield table (this is mostly the same as Nomoto+2006). The yield table can be interpolated by calling it with the metal mass fraction Z and stellar mass M (in solar masses) of the progenitor. The keyword argument bounds should be a valid Interpolations.jl extrapolation specifier that will determine how the interpolation is extrapolated (e.g., Flat()).
julia> n = Kobayashi2006SN();
julia> n(0.002, 13.5) isa NamedTuple
trueAstrochemicalYields.Nomoto2006 — Module
Module implementing the Nomoto+2006 core-collapse supernova yield tables.
AstrochemicalYields.Nomoto2006.Nomoto2006SN — Type
Nomoto2006SN(; bounds=Interpolations.Throw()) <: AbstractYieldLoad the Nomoto+2006 core-collapse supernova yield table. The yield table can be interpolated by calling it with the metal mass fraction Z and stellar mass M (in solar masses) of the progenitor. The keyword argument bounds should be a valid Interpolations.jl extrapolation specifier that will determine how the interpolation is extrapolated (e.g., Flat()).
julia> n = Nomoto2006SN();
julia> n(0.002, 13.5) isa NamedTuple
trueAstrochemicalYields.Portinari1998 — Module
Module implementing the Portinari+1998 core-collapse supernova yield tables.
AstrochemicalYields.Portinari1998.Portinari1998SN — Type
Portinari1998SN(; bounds=Interpolations.Throw()) <: AbstractYieldLoad the Portinari+1998 core-collapse supernova yield table. The yield table can be interpolated by calling it with the metal mass fraction Z and stellar mass M (in solar masses) of the progenitor. The keyword argument bounds should be a valid Interpolations.jl extrapolation specifier that will determine how the interpolation is extrapolated (e.g., Flat()).
julia> n = Portinari1998SN();
julia> n(0.002, 13.5) isa NamedTuple
true