mcfacts.physics.disk_capture_stars

mcfacts.physics.disk_capture_stars.distribute_captured_stars(captured_stars_masses, captured_stars_orb_a, timestep_num, timestep_duration_yr)

Distribute captured stars’ masses and orb_a based on how many are captured per timestep

Assumes timesteps are uniform and evenly spaced

Parameters:
  • captured_stars_masses (numpy.ndarray) – Masses [Msun] of captured stars, sorted by greatest to least

  • captured_stars_orb_a (numpy.ndarray) – Semi-major axis [R_{g,SMBH}] of captured stars

  • timestep_num (int) – Number of timesteps per galaxy

Returns:

captured_stars – Captured stars’ mass and orb_a values. Dictionary key is timestep they are captured in, and value is a tuple of number of captured stars, array of captured masses, and array of captured orb_a

Return type:

dict

mcfacts.physics.disk_capture_stars.setup_captured_stars_masses(captured_star_mass, disk_star_mass_min_init, disk_star_mass_max_init, nsc_imf_star_powerlaw_index)

Generate array of captured star masses, sorted by greatest to least mass

Parameters:
  • captured_star_mass (float) – Total stellar mass [Msun] captured by the NSC over the lifetime of the disk

  • disk_star_mass_min_init (float) – Lower bound [Msun] for stellar IMF

  • disk_star_mass_max_init (float) – Upper bound [Msun] for stellar IMF

  • nsc_imf_star_powerlaw_index (float) – Powerlaw index for stellar IMF

Returns:

star_masses – Captured star masses, sorted from greatest to least

Return type:

array

mcfacts.physics.disk_capture_stars.setup_captured_stars_orbs_a(num_stars_captured, disk_lifetime, smbh_mass, disk_surface_density_func, disk_star_mass_min_init, disk_star_mass_max_init, nsc_imf_star_powerlaw_index)

Generate array of orb_a values for captured stars

Captured stars are placed in the disk with radial distribution dN/dr propto r^-1/4

Parameters:
  • num_stars_captured (int) – Number of stars captured

  • disk_lifetime (float) – Disk lifetime [yr]

  • smbh_mass (float) – SMBH mass [Msun]

  • disk_inner_stable_circ_orb (float) – Disk innermost stable circular radius [R_{g,SMBH}]

  • disk_radius_outer (float) – Disk outer radius [R_{g,SMBH}]

  • disk_surface_density_func (lambda function) – Disk surface density

  • disk_star_mass_min_init (float) – Lower bound [Msun] for stellar IMF

  • disk_star_mass_max_init (float) – Upper bound [Msun] for stellar IMF

  • nsc_imf_star_powerlaw_index (float) – Powerlaw index for stellar IMF

Returns:

captured_star_orb_a – Array of orb_a values for captured stars

Return type:

array

mcfacts.physics.disk_capture_stars.stellar_mass_captured_nsc(disk_lifetime, smbh_mass, nsc_density_index_inner, nsc_mass, nsc_ratio_bh_num_star_num, nsc_ratio_bh_mass_star_mass, disk_surface_density_func, disk_star_mass_min_init, disk_star_mass_max_init, nsc_imf_star_powerlaw_index)

Calculate total stellar mass captured from the NSC over the lifetime of the disk

Note from WZL2024: We assume the surface density scales with r^-3/2, which is true for self-gravitating disk models with constant accretion rate

Parameters:
  • disk_lifetime (float) – Lifetime of the disk [yr]

  • smbh_mass (float) – Mass [Msun] of the SMBH

  • nsc_density_index_inner (float) – Powerlaw index for the NSC density

  • nsc_mass (float) – Mass of the NSC

  • nsc_ratio_bh_num_star_num (float) – Ratio of number of BH to number of stars in the NSC

  • nsc_ratio_bh_mass_star_mass (float) – Ratio of mass of typical BH to typical star in the NSC

  • disk_surface_density_func (lambda function) – Disk density

  • disk_star_mass_min_init (float) – Star mass [Msun] lower bound for IMF

  • disk_star_mass_max_init (float) – Star mass [Msun] upper bound for IMF

  • nsc_imf_star_powerlaw_index (float) – Powerlaw index for IMF

Returns:

captured_mass – Amount of stellar mass captured by the NSC in the disk lifetime

Return type:

float