mcfacts.physics.accretion
Module for calculating change of mass, spin magnitude, and spin angle due to accretion.
- mcfacts.physics.accretion.accrete_star_mass(disk_star_pro_masses, disk_star_pro_orbs_a, disk_star_luminosity_factor, disk_star_initial_mass_cutoff, smbh_mass, disk_sound_speed, disk_density, timestep_duration_yr, r_g_in_meters)
Adds mass according to Fabj+2024 accretion rate
Takes initial star masses at start of timestep and adds mass according to Fabj+2024.
- Parameters:
disk_star_pro_masses (numpy.ndarray) – Initial masses [M_sun] of stars in prograde orbits around SMBH with
floattype.disk_star_eddington_ratio (float) – Accretion rate of fully embedded stars [Eddington accretion rate]. 1.0=embedded star accreting at Eddington. Super-Eddington accretion rates are permitted. User chosen input set by input file
mdisk_star_eddington_mass_growth_rate (float) – Fractional rate of mass growth AT Eddington accretion rate per year (fixed at 2.3e-8 in mcfacts_sim) [yr^{-1}]
timestep_duration_yr (float) – Length of timestep [yr]
r_g_in_meters (float) – Gravitational radius of the SMBH in meters
- Returns:
disk_star_pro_new_masses – Masses [M_sun] of stars after accreting at prescribed rate for one timestep [M_sun] with
floattype- Return type:
Notes
Calculate Bondi radius: R_B = (2 G M_*)/(c_s **2) and Hill radius: R_Hill approx a(1-e)(M_*/(3(M_* + M_SMBH)))^(1/3). Accretion rate is Mdot = (pi/f) * rho * c_s * min[R_B, R_Hill]**2 with f ~ 4 as luminosity dependent factor that accounts for the decrease of the accretion rate onto the star as it approaches the Eddington luminosity (see Cantiello+2021), rho as the disk density, and c_s as the sound speed.
- mcfacts.physics.accretion.change_bh_mass(disk_bh_pro_masses, disk_bh_eddington_ratio, disk_bh_eddington_mass_growth_rate, timestep_duration_yr)
Adds mass according to chosen BH mass accretion prescription
Takes initial BH masses at start of timestep and adds mass according to chosen BH mass accretion prescription
- Parameters:
disk_bh_pro_masses (numpy.ndarray) – Initial masses [M_sun] of black holes in prograde orbits around SMBH
floattypedisk_bh_eddington_ratio (float) – Accretion rate of fully embedded stellar mass black hole [Eddington accretion rate]. 1.0=embedded BH accreting at Eddington. Super-Eddington accretion rates are permitted. User chosen input set by input file
mdisk_bh_eddington_mass_growth_rate (float) – Fractional rate of mass growth [yr^{-1}] AT Eddington accretion rate per year (fixed at 2.3e-8 in mcfacts_sim)
timestep_duration_yr (float) – Length of timestep [yr]
- Returns:
disk_bh_pro_new_masses – Masses [M_sun] of black holes after accreting at prescribed rate for one timestep with
floattype- Return type:
- mcfacts.physics.accretion.change_bh_spin(disk_bh_pro_spins, disk_bh_pro_spin_angles, disk_bh_eddington_ratio, disk_bh_torque_condition, disk_bh_spin_minimum_resolution, timestep_duration_yr, disk_bh_pro_orbs_ecc, disk_bh_pro_orbs_ecc_crit)
Updates the spin magnitude of the embedded black holes based on their accreted mass in this timestep.
- Parameters:
disk_bh_pro_spins (numpy.ndarray) – Initial spins [unitless] of black holes in prograde orbits around SMBH
disk_bh_pro_spin_angles (numpy.ndarray) – Initial spin angles [radian] of black holes in prograde orbits around SMBH with
floattypedisk_bh_eddington_ratio (float) – Accretion rate of fully embedded stellar mass black hole [Eddington accretion rate]. 1.0=embedded BH accreting at Eddington. Super-Eddington accretion rates are permitted. User chosen input set by input file
disk_bh_torque_condition (float) – Fraction of initial mass required to be accreted before BH spin is torqued fully into alignment with the AGN disk. We don’t know for sure but (Bogdanovic et al. 2007) says between 0.01=1% and 0.1=10% is what is required User chosen input set by input file
disk_bh_spin_minimum_resolution (float) – Minimum resolution of spin change followed by code [unitless]
timestep_duration_yr (float) – Length of timestep [yr]
disk_bh_pro_orbs_ecc (numpy.ndarray) – Orbital eccentricity [unitless] of BH in prograde orbits around SMBH with
floattypedisk_bh_pro_orbs_ecc_crit (float) – Critical value of orbital eccentricity [unitless] below which prograde accretion (& migration & binary formation) occurs
- Returns:
- mcfacts.physics.accretion.star_wind_mass_loss(disk_star_pro_masses, disk_star_pro_log_radius, disk_star_pro_log_lum, disk_star_pro_orbs_a, disk_opacity_func, timestep_duration_yr)
Removes mass according to the Cantiello+ 2021 prescription
Takes initial star masses at the start of the timestep and removes mass according to Eqn. 16 in Cantiello+ 2021
- Parameters:
disk_star_pro_masses (numpy.ndarray) – Initial masses [M_sun] of stars in prograde orbits around the SMBH with
floattype.disk_star_pro_log_radius (numpy.ndarray) – Radius (log R/R_sun) of stars in prograde orbits around the SMBH with
floattype.disk_star_pro_log_lum (numpy.ndarray) – Luminosity (log L/L_sun) of stars in prograde orbits around the SMBH with
floattype.disk_star_pro_orbs_a (numpy.narray) – Semi-major axes [R_{g,SMBH}] of stars in prograde orbits around the SMBH with
floattype.disk_opacity_func (function) – Disk opacity function
timestep_duration_yr (float) – Length of timestep [yr]
- Returns:
star_new_masses – New masses [M_sun] after removing mass for one timestep at specified mass loss rate with
floattype.- Return type: