IFMR Object

The Initial-Final Mass Relation (IFMR) maps a star’s initial zero-age main sequence (ZAMS) mass to the type and mass of the compact object it will form. The SPISEA IFMR classes support white dwarfs (WD), neutron stars (NS), and black holes (BH). The associated code is found in spisea/ifmr.py.

To define an IFMR object:

from spisea import ifmr
ifmr_obj = ifmr.<class_name>

Compact objects are included in the output tables produced by Cluster Object, and can be identified by the “phase” column:

  • WD: phase = 101

  • NS: phase = 102

  • BH: phase = 103

See Quick Start Example for more examples of how to interact with the Cluster Object output.

IFMR Base Classes

class ifmr.IFMR_Spera15

The BH/NS IFMR (used for MZAMS>= 7 M_sun) comes from Spera et. al. (2015) Appendix C. The WD IFMR (used for MZAMS< 7_Msun) comes from Kalirai et al. (2008).

See Rose et al. (submitted) for more details.

Methods

generate_death_mass(mass_array, ...)

The top-level function that assigns the remnant type and mass based on the stellar initial mass.

generate_death_mass(mass_array, metallicity_array)

The top-level function that assigns the remnant type and mass based on the stellar initial mass.

Parameters
mass_array: array of floats

Array of initial stellar masses. Units are M_sun.

metallicity_array: array of floats

Array of metallicities in terms of [Fe/H]

Notes
——
The output typecode tells what compact object formed:
* WD: typecode = 101
* NS: typecode = 102
* BH: typecode = 103
A typecode of value -1 means you’re outside the range of
validity for applying the ifmr formula.
A remnant mass of -99 means you’re outside the range of
validity for applying the ifmr formula.
Range of validity: MZAMS > 0.5
Returns
output_arr: 2-element array

output_array[0] contains the remnant mass, and output_array[1] contains the typecode

class ifmr.IFMR_Raithel18

The IFMR is a combination of the WD IFMR from Kalirai et al. (2008) and the NS/BH IFMR from Raithel et al. (2018). Note that the NS masses are NOT assigned based on the above results. We do take the NS/BH formation ratio and the BH masses. NS masses are assigned based on random draws from a Gaussian (see NS_mass function).

See Lam et al. (2020) and Rose et al. (submitted) for more details.

Methods

NS_mass(MZAMS)

Drawing the NS mass from a Gaussian distrobuton based on observational data.

generate_death_mass(mass_array)

The top-level function that assigns the remnant type and mass based on the stellar initial mass.

NS_mass(MZAMS)

Drawing the NS mass from a Gaussian distrobuton based on observational data.

Gaussian fit by Emily Ramey and Sergiy Vasylyev of University of Caifornia, Berkeley using a sample of NSs from Ozel & Freire (2016) — J1811+2405 Ng et al. (2020), J2302+4442 Kirichenko et al. (2018), J2215+5135 Linares et al. (2018), J1913+1102 Ferdman & Collaboration (2017), J1411+2551 Martinez et al. (2017), J1757+1854 Cameron et al. (2018), J0030+0451 Riley et al. (2019), J1301+0833 Romani et al. (2016) The Gaussian distribution was fit using this data and a Bayesian MCMC method adapted from Kiziltan et al. (2010).

generate_death_mass(mass_array)

The top-level function that assigns the remnant type and mass based on the stellar initial mass.

Parameters
mass_array: array of floats

Array of initial stellar masses. Units are M_sun.

Returns
output_arr: 2-element array

output_array[0] contains the remnant mass, and output_array[1] contains the typecode

Notes

The output typecode tells what compact object formed:

  • WD: typecode = 101

  • NS: typecode = 102

  • BH: typecode = 103

A typecode of value -1 means you’re outside the range of validity for applying the ifmr formula.

A remnant mass of -99 means you’re outside the range of validity for applying the ifmr formula.

Range of validity: 0.5 < MZAMS < 120

class ifmr.IFMR_N20_Sukhbold

The BH/NS IFMR for zero metallicity progenitors comes from Sukhbold & Woosley (2014). The BH/NS IFMR for solar metallicity progenitors comes from Sukhbold et al. (2016). The PPISN models are from Woosley (2017) and Woosley et al. (2020). The WD IFMR is from Kalirai et al. (2008). Note that the NS masses are NOT assigned based on the above results. We do take the NS/BH formation ratio and the BH masses. NS masses are assigned based on random draws from a Gaussian (see NS_mass function).

See Rose et al. (submitted) for more details.

Methods

NS_mass(MZAMS)

Drawing the NS mass from a Gaussian distrobuton based on observational data.

generate_death_mass(mass_array, ...)

The top-level function that assigns the remnant type and mass based on the stellar initial mass.

NS_mass(MZAMS)

Drawing the NS mass from a Gaussian distrobuton based on observational data.

Gaussian fit by Emily Ramey and Sergiy Vasylyev of University of Caifornia, Berkeley using a sample of NSs from Ozel & Freire (2016) — J1811+2405 Ng et al. (2020), J2302+4442 Kirichenko et al. (2018), J2215+5135 Linares et al. (2018), J1913+1102 Ferdman & Collaboration (2017), J1411+2551 Martinez et al. (2017), J1757+1854 Cameron et al. (2018), J0030+0451 Riley et al. (2019), J1301+0833 Romani et al. (2016) The Gaussian distribution was fit using this data and a Bayesian MCMC method adapted from Kiziltan et al. (2010).

generate_death_mass(mass_array, metallicity_array)

The top-level function that assigns the remnant type and mass based on the stellar initial mass.

Parameters
mass_array: array of floats

Array of initial stellar masses. Units are M_sun.

metallicity_array: array of floats

Array of metallicities in terms of [Fe/H]

Notes
——
The output typecode tells what compact object formed:
* WD: typecode = 101
* NS: typecode = 102
* BH: typecode = 103
A typecode of value -1 means you’re outside the range of
validity for applying the ifmr formula.
A remnant mass of -99 means you’re outside the range of
validity for applying the ifmr formula.
Range of validity: MZAMS > 0.5
Returns
output_arr: 2-element array

output_array[0] contains the remnant mass, and output_array[1] contains the typecode