AstrochemicalYields

Documentation for AstrochemicalYields.

AstrochemicalYields.ejecta_alpha_massMethod
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).

source
AstrochemicalYields.ejecta_massMethod
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(...).

source
AstrochemicalYields.ejecta_metal_massMethod
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).

source
AstrochemicalYields.extend_boundsMethod
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.

source
AstrochemicalYields.interp_linMethod
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 as x.
  • t: The point at which to interpolate.

Returns

The interpolated value of y corresponding to t.

Notes

  • If t is outside the range of x, the function throws an error.
source
AstrochemicalYields.interp_logMethod
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 as x.
  • t: The point at which to interpolate.

Returns

The interpolated value of y corresponding to t.

Notes

  • If t is outside the range of x, the function throws an error.
source
AstrochemicalYields.preSN_massMethod
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.

source
AstrochemicalYields.remnant_massMethod
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).

source
AstrochemicalYields.α_isotopesMethod
α_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)
source
AstrochemicalYields.Kobayashi2006.Kobayashi2006SNType
Kobayashi2006SN(; bounds=Interpolations.Throw()) <: AbstractYield

Load 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
true
source
AstrochemicalYields.Nomoto2006.Nomoto2006SNType
Nomoto2006SN(; bounds=Interpolations.Throw()) <: AbstractYield

Load 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
true
source
AstrochemicalYields.Portinari1998.Portinari1998SNType
Portinari1998SN(; bounds=Interpolations.Throw()) <: AbstractYield

Load 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
source