posydon.binary_evol.SN

posydon.binary_evol.SN.profile_collapse

Collapse the profile of a star object into a BH.

This script is based on the physics explained in Appendix D of Bavera+2020.

posydon.binary_evol.SN.profile_collapse.compute_isco_properties(a, m_BH)[source]

Compute the BH innermost stable circular orbit (ISCO) parameters.

Parameters:
  • a (float) – Dimnesionless BH spin.

  • m_BH (float) – Mass of the BH in g.

Returns:

  • r_isco (float) – Radius of the ISCO in CGS units (cm).

  • j_isco (float) – Specific angular momentum at ISCO in CGS units (cm^2/s).

  • efficiency (float) – Orbital energy efficiency at ISCO.

posydon.binary_evol.SN.profile_collapse.do_core_collapse_BH(star, mass_collapsing, mass_central_BH=2.51, neutrino_mass_loss=None, max_neutrino_mass_loss=NEUTRINO_MASS_LOSS_UPPER_LIMIT, verbose=False)[source]

Do the core collapse of a star object with MESA profile provided.

Parameters:
  • star (object) – Star object of a collapsing star containing the MESA profile.

  • mass_collapsing (float) – Remnant barionic mass in M_sun collapsing to form the BH. This is the mass left to collapse after applying a supernova prescriptions, see e.g. rapid and delayed mechanisms of Fryer et al. (2012).

  • mass_central_BH (float) – Mass of the central stellar layers (in M_sun) collasping directly to form a proto BH.

  • neutrino_mass_loss (float) – Mass (in M_sun) lost thorugh neutrinos in the formation of the central BH.

  • max_neutrino_mass_loss (float) – Maximum mass (in M_sun) lost thorugh neutrinos.

  • verbose (bool) – If True, it prints some informations.

Returns:

  • M_BH_total (float) – Mass of the final BH in M_sun.

  • a_BH_total (float) – Dimensionless spin of the final BH.

  • M_BH_array (array floats) – BH mass evelution in g.

  • a_BH_array (array floats) – Dimensionless spin evolution.

  • J_accreted_array (array floats) – Angular momentum accreted from a given shell by the BH in CGS units.

  • J_total_array (array floats) – Total angular momentum in accreted shells plus BH’s initial angular momentum in CGS units.

  • J_disk_shell_array (array floats) – Angular momentum accreted from the shell’s part collapsing to form a disk in CGS units.

  • radiation_eff_array (array floats) – Fraction of accretion disk radiated away, this is one minus accretion efficiency.

  • r_isco_array (array floats) – Radius of the innermost stable circular orbit in cm.

  • j_isco_array (array floats) – Specific angular momentum at the innermost stable circular orbit in CGS.

  • M_direct_collapse_array (array floats) – Cumulative mass accreted through direct collapse in g.

  • M_disk_array (array floats) – Cumulative mass accreted thorugh the disk in g.

  • dm_direct_array (array floats) – Shell’s mass accreted through direct collapse in g.

  • dm_disk_array (array floats) – Shell’s mass accreted thorugh the disk in g.

  • j_shell_array (array floats) – Shell’s specific angular momentum in CGS.

  • M_total_array (array floats) – Cumulative mass of shells and initial BH in g.

  • a_star_array (array floats) – Dimensionless spin parameter of the star.

posydon.binary_evol.SN.profile_collapse.get_ejecta_element_mass_at_collapse(star, compact_object_mass, verbose)[source]

Calculate the masses of H1, He4, and O16 in the ejecta. :param star: Star object of a collapsing star containing the MESA profile. :type star: object :param compact_object_mass: The mass of the compact object (in Msun), hence all above this mass will be ejected. :type compact_object_mass: float :param verbose: If True, it prints some informations. :type verbose: bool

Returns:

  • h1_mass_ej (float) – Hydrogen mass in the ejecta. (in Msun)

  • he4_mass_ej (float) – Helium mass in the ejecta. (in Msun)

posydon.binary_evol.SN.profile_collapse.get_initial_BH_properties(star, mass_collapsing, mass_central_BH, neutrino_mass_loss, max_neutrino_mass_loss, verbose)[source]

Collapse directly the center of the star and return useful quantities.

Parameters:
  • star (object) – Star object of a collapsing star containing the MESA profile.

  • mass_collapsing (float) – Remnant barionic mass in M_sun collapsing to form the BH. This is the mass left to collapse after applying a supernova prescriptions, see e.g., rapid and delayed mechanisms of Fryer et al. (2012).

  • mass_central_BH (float) – Mass of the central stellar layers (in M_sun) collasping directly to form a proto BH.

  • neutrino_mass_loss (float) – Mass (in M_sun) lost through neutrinos in the formation of the central BH.

  • max_neutrino_mass_loss (float) – Maximum mass (in M_sun) lost thorugh neutrinos.

  • verbose (bool) – If True, it prints some informations.

Returns:

  • mass_initial_BH (float) – Mass of the initial BH in units of g.

  • a_initial_BH (float) – Dimensionless spin of the initial BH.

  • J_initial_BH (float) – Angular momentum of the initial BH in g*cm^2/s.

  • angular_frequency_i (array floats) – Shell’s angular frequencies in s^-1 collapsing onto the initially-formed BH.

  • enclosed_mass_i (array floats) – Shell’s enclosed masses in g collapsing onto the initially formed BH.

  • radius_i (array floats) – Shell’s radii in cm collapsing onto the initially formed BH.

  • density_i (array floats) – Shell’s densities in g/cm^3 collapsing onto the initially formed BH.

  • dm_i (array floats) – Shell’s masses in g collapsing onto the initially formed BH.

  • dm_i (array floats) – Shell’s width in cm collapsing onto the initially formed BH.

posydon.binary_evol.SN.step_SN

Supernova step.

This step models the end of life of stars by being applied to a binary object and verifying its state. It performs the collapse prescription used to initialize the step in the respective star. Depending on the C and He cores the final state of the star is determined, from the formation of white dwarfs to electron-capture supernova, Fe core-collapse supernova, pair pulsation supernova and pair instability supernova.

class posydon.binary_evol.SN.step_SN.Couch20_corecollapse(turbulence_strength, path_engine_dataset, verbose)[source]

Bases: object

Compute SN final remnant mass, fallback fraction and stellar state.

This considers the nearest neighboor of the He core mass of the star, previous to the collapse. Considering a set of data for which the He core mass of the compact object progenitors before the collapse, the final remnant mass and final stellar state of the compact object is known.

Parameters:
  • engine (string) – Engine for the supernova explosion, from the one where used in [1].

  • path_engine_dataset (string) – Path to the location of the data on initial and final states for each engine described in [1]

Returns:

  • m_rem (double) – Remnant mass of the compact object in M_sun.

  • f_fb (double) – Fallback mass of the compact object in M_sun.

  • state (string) – Finall state of the stellar remnant after the supernova.

Notes

We need [2] data for their cores.

References

[1] (1,2)

Couch, S. M., Warren, M. L., & O’Connor, E. P. 2020, ApJ, 890, 127 Simulating Turbulence-aided Neutrino-driven Core-collapse Supernova Explosions in One Dimension

[2]

Sukhbold, T., Ertl, T., Woosley, S. E., Brown, J. M., & Janka, H. T. (2016). Core-collapse supernovae from 9 to 120 solar masses based on neutrino-powered explosions. The Astrophysical Journal, 821(1), 38.

Initialize a Couch20_corecollapse instance.

class posydon.binary_evol.SN.step_SN.StepSN(**kwargs)[source]

Bases: object

The supernova step in POSYDON.

Keyword Arguments:
  • mechanism (str) –

    Mechanism to perform the core-collapse on the star object and predict the supernova remnant outcome. Available options are:

    • ’Fryer+12-rapid’ : The rapid supernova-engine described in [1]

    • ’Fryer+12-delayed’ : The delayed supernova-engine described in [1]

    • ’direct’ : The pre-supernova mass of the starr is collapsed into the

    remnant baryonic mass.

    • ’direct_he_core’ : The pre-supernova He core mass of the starr is

    collapsed into the remnant baryonic mass.

    • ’Sukhbold+16-engine’ : Uses the results from [2]

    to describe the collapse of the star.

    • ’Patton&Sukhbold20-engine’: Uses the results from [5]

    to describe the collapse of the star.

    • ’Couch+20-engine’: Uses the results from [6]

    to describe the collapse of the star.

  • engine (str) –

    Engine used for supernova remnanrt outcome propierties for the Sukhbold+16-engineand and Patton&Sukhbold20-engine mechanisms. Available options:

    • ’N20’

  • PISN (str) –

    Prescrition to take on the pair-instability supernova. Avialable options:

    • ’Marchant+19’ : Descripes the pair-instability supernova as [3].

  • mass_central_BH (double) – Central mass collapsed automatically on black-holes formed by direct collapse.

  • max_neutrino_mass_loss (double) – Neutrino mass loss during the collapse of the proto neutron-star.

  • kick (bool) – If True, the kick velocities are computed corresponding to the supernova event, else no kicks are taking into account for any supernova outcome.

  • kick_normalisation (str) – Renormalise the kick by: ‘one_minus_fallback’ : (1-f_fb) ‘one_over_mass’ : 1.4/m_BH ‘zero’ : 0. ‘one’ : 1. ‘NS_one_minus_fallback_BH_one’: 1 for BH, (1-f_fb) for NS

  • ECSN (str) –

    Prescription to determine the production of an electron-capture supernova. Avialable options:

    • ’Podsiadlowski+04’: Determines the electron capture supernova in

    terms of the He core mass at pre-supernova, taking limits from [7]. - ‘Tauris+15’: Determines the electron capture supernova in terms of the CO core mass at pre-supernova, taking the limits from [4].

  • sigma_kick_CCSN_NS (double) – Standard deviation for a Maxwellian distribution to compute the kick velocities from NSs formed by Fe core-collapse supernova.

  • sigma_kick_CCSN_BH (double) – Standard deviation for a Maxwellian distribution to compute the kick velocities from BHs formed by Fe core-collapse supernova.

  • sigma_kick_ECSN (double) – Standard deviation for a Maxwellian distribution to compute the kick velocities from compact-object formed by electron-capture supernova.

  • max_NS_mass (double) – Maximum neutron-star mass.

  • use_interp_values (bool) – The outcome of core collpase was interpolated from a post processed MESA grid and stored in the star object in the mesa_step or detached_step (default). This option supports only default assumptions for all core collase mechanism.

  • use_profiles (bool) – Perfrome the core collpase given a MESA profile. To use this option a MESA profile must be stored in the star object which is provided by nearest neighbor interpolation in the mesa_step or (TODO) interpolated in the detached_step.

  • use_core_masses (bool) – This option uses the core masses at carbon depletion to determine the core collapse outcoume (classical population sythesis threatment).

  • allow_spin_None (bool) – This option does not determine the spin during core collapse while setting other values like in use_core_masses. (used to avoid jumps in the spin for interpolator training because of missing profiles)

  • approx_at_he_depletion (bool) – This option is relevant only for the mechanism Patton&Sukhbold20-engine. In case the core masses at he-depletion are not present in the star object, compute them from the history, else (approximation=True) approximate it from the core masses at C depletion.

  • verbose (bool) – If True, the messages will be prited in the console.

References

[1] (1,2)

Fryer, C. L., Belczynski, K., Wiktorowicz, G., Dominik, M., Kalogera, V., & Holz, D. E. (2012). Compact remnant mass function: dependence on the explosion mechanism and metallicity. The Astrophysical Journal, 749(1), 91.

[2]

Sukhbold, T., Ertl, T., Woosley, S. E., Brown, J. M., & Janka, H. T. (2016). Core-collapse supernovae from 9 to 120 solar masses based on neutrino-powered explosions. The Astrophysical Journal, 821(1), 38.

[3]

Marchant, P., Renzo, M., Farmer, R., Pappas, K. M., Taam, R. E., De Mink, S. E., & Kalogera, V. (2019). Pulsational pair-instability supernovae in very close binaries. The Astrophysical Journal, 882(1), 36.

[4]

Tauris, T. M., Langer, N., & Podsiadlowski, P. (2015). Ultra-stripped supernovae: progenitors and fate. Monthly Notices of the Royal Astronomical Society, 451(2), 2123-2144.

[5]

Patton, R. A. & Sukhbold, T. 2020, MNRAS, 499, 2803. Towards a realistic explosion landscape for binary population synthesis

[6]

Couch, S. M., Warren, M. L., & O’Connor, E. P. 2020, ApJ, 890, 127. Simulating Turbulence-aided Neutrino-driven Core-collapse Supernova Explosions in One Dimension

[7]

Podsiadlowski, P., Langer, N., Poelarends, A. J. T., Rappaport, S., Heger, A., and Pfahl, E. 2004, ApJ, 612, 1044. The Effects of Binary Evolution on the Dynamics of Core Collapse and Neutron Star Kicks

Initialize a StepSN instance.

C_abundance_for_H_stars(CO_core_mass)[source]

Get the C abundance for a H-star given it’s CO core mass.

C_abundance_for_He_stars(CO_core_mass)[source]

Get the C abundance for a He-star given it’s CO core mass.

PISN_prescription(star)[source]

Compute baryonic remnant mass for the PPISN and PISN prescription.

Parameters:

star (object) – Star object containing the star properties.

Returns:

m_PISN – Maximum stellar mass in M_sun after the PPISN/PISN prescription.

Return type:

double

Patton20_corecollapse(star, engine, conserve_hydrogen_envelope=False)[source]

Compute supernova final remnant mass and fallback fraction.

It uses the results from [1]. The prediction for the core-collapse outcome is performed using the C core mass and its C abundance. The criterion by [2] is used to determine the final outcome.

Parameters:

star (obj) – Star object of a collapsing star containing the MESA profile.

Returns:

  • m_rem (double) – Remnant mass of the compact object in M_sun.

  • f_fb (double) – Fallback mass of the compact object in M_sun.

References

[1]

Patton, R. A., & Sukhbold, T. (2020). MNRAS, 499(2), 2803-2816.

[2]

Ertl, T., Janka, H. T., Woosley, S. E., Sukhbold, T., & Ugliano, M. (2016). ApJ, 818(2), 124.

check()[source]

Check the internal integrity and the values of the parameters.

check_SN_type(m_core, m_He_core, m_star)[source]

Get the remnant mass, fallback frac., state & SN type of the SN.

collapse_star(star)[source]

Collapse the star object into a compact object.

This routine supports three options: 1. use_interp_values : True

The outcome of core collpase was interpolated from a post processed MESA grid and stored in the star object in the mesa_step or detached_step (default). This option supports only default assumptions for all core collase mechanism.

  1. use_profiles : False Perfrome the core collpase given a MESA profile. To use this option a MESA profile must be stored in the star object which is provided by nearest neighbor interpolation in the mesa_step or (TODO) interpolated in the detached_step.

  2. use_core_masses : False This option uses the core masses at carbon depletion to determine the core collapse outcoume (classical population sythesis threatment).

  3. allow_spin_None : False This option does not determine the spin during core collapse while setting other values like in use_core_masses. (used to avoid jumps in the spin for interpolator training because of missing profiles)

Parameters:

star (object) – Star object containing the star properties.

Returns:

  • m_rem (double) – Remnant mass of the compact object in M_sun. This quantity accounts for the mass loss thorugh neutrino.

  • state (string) – New state of the star object.

compute_m_rembar(star, m_PISN)[source]

Compute supernova remnant barionic mass.

We follow the selected electron-capture and core-collapse mechanisms to get the remnant baryonic mass.

Parameters:
  • star (object) – Star object containing the star properties.

  • m_PISN (double) – Maximum stellar mass in M_sun after the PPISN/PISN prescription.

Returns:

  • m_rembar (double) – Barioninc mass of the remnant after the supernova in M_sun. This quantity does NOT take into account any neutrino lost, this will be taken into account in collapse_star().

  • f_fb (double) – Mass fraction falling back onto the compact object created in the supernova. The maximum value is 1 and means that all the barionic mass is collapsing to form the compact object.

  • state (string) – Finall state of the stellar remnant after the supernova.

generate_kick(star, sigma)[source]

Draw a kick from a Maxwellian distribution.

We follow Hobbs G., Lorimer D. R., Lyne A. G., Kramer M., 2005, MNRAS, 360, 974 and choose sigma = 265 km/s

We rescale the kicks by 1 - f_fb as in Eq. 21 of Fryer, C. L., Belczynski, K., Wiktorowicz, G., Dominik, M., Kalogera, V., & Holz, D. E. (2012), ApJ, 749(1), 91.

Parameters:

star (object) – Star object containing the star properties.

Returns:

Vkick – Natal orbital kick in km/s.

Return type:

double

get_CO_core_params(star, approximation=False)[source]

Get the CO core mass and C abundance at the pre-supernova phase.

If the two parameters are available in the star’s profile, perform the Patton&Sukhbold,20 core-collapse.

If the CO core mass is available but not the C abundance then the latter is computed from the formulas at Patton&Sukhbold,20.

Parameters:
starobj

Star object of a collapsing star containing the MESA profile.

approximationbool

In case the core masses at he-depletion are not present in the star object, compute them from the history default behaviour, else (approximation=True) approximate it from the core masses at C depletion.

Returns:
CO_core_massfloat

Mass of the CO core at He depletion == C core ignition.

C_core_abundancefloat

C abundance of the CO core He depletion == C core ignition.

get_M4_mu4_Patton20(CO_core_mass, C_core_abundance)[source]

Get the M4 and mu4 using Patton+20.

get_combined_tilt(tilt_1, tilt_2, true_anomaly_1, true_anomaly_2)[source]

Get the combined spin-orbit-tilt after two supernovae, assuming the spin as not realigned with the orbital angular momentum after SN1

Parameters:
tilt_1: float

Angle, in radians, through which the orbital plane was tilted by SN1

tilt_2: float

Angle, in radians, through which the orbital plane was tilted by SN2

true_anomaly_1: float

Angle, in radians, of the true anomaly at the moment of SN1

true_anomaly_2: float

Angle, in radians, of the true anomaly at the moment of SN2

Returns:
combined_tilt: float

Angle, in radians, between the spin and orbital angular momentum after SN2

orbital_kick(binary)[source]

Do the orbital kick.

This function computes the supernova step of the binary object [1], [2]. It checks which binary_state reached the core collapse flag, either CC1 or CC2, and runs the step accordingly updating the binary object.

Geometry: We work in a right-handed coordinate system. The collapsing helium star, here M_he_star, lies on the origin. The companion, here M_companion, lies on the negative X axis at rest. The relative velocity of the M_he_star with respect to M_companion lies in the X-Y plane, with vY>0. The orbital angular momentum vector is in Z direction, which completes the right-handed coordinate system.

psi:

The angle in the orbital plane between the X axis and the pre-core collapse relative velocity. (psi = pi/2 points in Y direction)

theta :

The polar angle between the kick velocity and the pre-core collapse relative velocity of the M_he_star with respect to M_companion.

phi :

The corresponding azimuthal angle such that phi=0 is on the Z axis.

tilt :

The angle between pre- and post- supernova orbital angular momentum vectors

Parameters:

binary (object) – Binary object containing the binary properties and the two star objects.

References

[1]

Kalogera, V. 1996, ApJ, 471, 352

[2]

Wong, T.-W., Valsecchi, F., Fragos, T., & Kalogera, V. 2012, ApJ, 747, 111

class posydon.binary_evol.SN.step_SN.Sukhbold16_corecollapse(engine, path_engine_dataset, verbose)[source]

Bases: object

Compute supernova final remnant mass, fallback fraction and CO type.

This considers the He core mass of the nearest neighbor of the star prior to the collapse. Using a set of data for the He core mass of the compact object progenitors prior the collapse, the final remnant mass and stellar state of the compact object are known.

Parameters:
  • engine (string) – Engine for the supernova explosion, from the one where used in [1].

  • path_engine_dataset (string) – Path to the location of the data on initial and final states for each engine described in [1]

Returns:

  • m_rem (double) – Remnant mass of the compact object in M_sun.

  • f_fb (double) – Fallback mass of the compact object in M_sun.

  • state (string) – Finall state of the stellar remnant after the supernova.

References

[1] (1,2)

Sukhbold, T., Ertl, T., Woosley, S. E., Brown, J. M., & Janka, H. T. (2016). Core-collapse supernovae from 9 to 120 solar masses based on neutrino-powered explosions. The Astrophysical Journal, 821(1), 38.

Initialize a Sukhbold16_corecollapse instance.

posydon.binary_evol.SN.step_SN.check_SN_CO_match(SN_type, state)[source]

Check if the SN type matches the stellar state of the given star.

Parameters:
  • SN_type (str) – SN type of the star.

  • state (str) – Stellar state of the star.

Returns:

correct_SN_type – True if the SN type matches the stellar state of the star.

Return type:

bool