synthpop.modules.post_processing.process_dark_compact_objects

Post-processing to account for dim compact objects, based on PopSyCLE (Rose et al 2022).

The module will take all objects that have evolved past the MIST grid, and assign them a final mass, removing their photometry. Optionally, one can just remove all of these objects instead.

It can also optionally add random kick velocities to neutron stars and black holes, according to a Maxwellian distribution with a user-input mean.

Classes

ProcessDarkCompactObjects

Post-processing to account for dim compact objects, based on PopSyCLE (Rose et al 2022).

Module Contents

class synthpop.modules.post_processing.process_dark_compact_objects.ProcessDarkCompactObjects(model, logger, remove=False, ifmr_name='SukhboldN20', kick_mean_bh=0, kick_mean_ns=0, **kwargs)

Bases: synthpop.modules.post_processing._post_processing.PostProcessing

Post-processing to account for dim compact objects, based on PopSyCLE (Rose et al 2022).

Attributes

remove=Falseboolean

if true, remove dark compact objects from the catalog

ifmr_name=’SukhboldN20’string

selected initial-final mass relation; options are ‘SukhboldN20’, ‘Raithel18’, ‘Spera15’

kick_mean_bh=0float

mean of the maxwellian kick distribution for black holes (km/s)

kick_mean_ns=0float

mean of the maxwellian kick distribution for neutron stars (km/s)

remove = False
ifmr_name = 'SukhboldN20'
kick_mean_ns = 0
kick_mean_bh = 0
mass_bh(m_zams, feh, f_ej=0.9)

Black hole mass calculation for Raithel18 and SukhboldN20

Parameters

m_zams

float or array of float values for initial stellar mass in units of solar mass

f_ej

float value representing the ejection fraction, or how much of the star’s envelope is ejected in the supernova default value 0.9 adopted from Lam et al. (2020)

Returns

m_bh

float or array of float values for final black hole mass in units of solar mass

mass_ns(m_zams)

Neutron star final mass calculation, adopting the 1.36 Msun average with a standard deviation of 0.09. Based on PopSyCLE (Rose et al, 2022)

Parameters

m_zams

float or array of float values for initial stellar mass in units of solar mass

Returns

m_ns

float or array of float values for final neutron star mass in units of solar mass

mass_wd(m_zams)

White dwarf final mass calculation. Based on PopSyCLE (Rose et al. 2022)

Parameters

m_zams

float or array of float values for initial stellar mass in units of solar mass

Returns

m_wd

float or array of float values for final white dwarf mass in units of solar mass

mass_spera15(m_zams, feh)

Remnant mass calculation from Spera et al 2015, appendix C Takes in the m_zams and Fe/H as lists

compact_type_from_final(m_fin)

Determination of compact object type from final mass Based on PopSyCLE (Lam et al 2020; Rose et al 2022) Which pulls from Spera et al 2015

Parameters

m_fin

float value for final mass in units of solar mass

Returns

m_type

integer value indicating object type 1 = dim white dwarf 2 = neutron star 3 = black hole

compact_type_validation(m_type, m_prelim, m_ns)

Reassign low-mass BHs to NSs Based on PopSyCLE (Lam et al 2020; Rose et al 2022)

Parameters

m_type

int value for assigned compact object type

m_prelim

float value for compact object mass in units of solar mass

m_ns

float neutron star mass generated for the objects

Returns

m_type

integer value indicating updated object type 2 = neutron star 3 = black hole

m_compact

updated mass of NS or BH

compact_type_from_initial(m_zams, feh)

Probabilistic drawing of compact object types Based on PopSyCLE (Lam et al 2020; Rose et al 2022) Which pulls from Rathiel et al 2018 and Sukhbold et al 2020

Parameters

m_zams

array of float values for initial stellar mass in units of solar mass

feh

array of float values for initial metallicity [Fe/H]

Returns

m_type

array of integer values indicating object type 0 = non-compact object or luminous white dwarf 1 = dim white dwarf 2 = neutron star 3 = black hole

do_post_processing(dataframe: pandas.DataFrame) pandas.DataFrame

Perform the post-processing and return the modified DataFrame.