mcfacts.physics.binary.formation
Module for handling the formation of binaries.
- mcfacts.physics.binary.formation.add_to_binary_obj(blackholes_binary, blackholes_pro, bh_pro_id_num_binary, id_start_val, fraction_bin_retro, smbh_mass, agn_redshift, disk_bh_pro_orb_ecc_crit)
Create new BH binaries with appropriate parameters.
We take the semi-maj axis, masses, spins, spin angles and generations from the relevant singletons, found in hillsphere.binary_check2, and sort those parameters into disk_bins_bhbh. We then ADD additional parameters relevant only for binaries, including semi-major axis of the binary, semi-major axis of the orbit of the center of mass of the binary around the SMBH, a flag to permit or suppress retrograde binaries, eventually eccentricity and inclination.
- Parameters:
blackholes_binary (AGNBinaryBlackHole) – Binary black holes
blackholes_pro (AGNBlackHole) – Prograde black holes
bh_pro_id_num_binary (numpy.ndarray) – ID numbers for the prograde blackholes that will form binaries with
inttypeid_start_val (int) – Starting value for the ID numbers (add 1 to ensure it’s unique)
fraction_bin_retro (float) – Fraction of binaries which form retrograde (wrt to the disk gas) around their own center of mass. = 0.0 turns all retrograde BBH at formation into prograde BBH. = 0.5 half of the binaries will be retrograde = 1.0 all binaries will be retrograde.
smbh_mass (float) – Mass [M_sun] of the SMBH
agn_redshift (float) – Redshift [unitless] of the AGN, used to set d_obs
- Returns:
blackholes_binary (AGNBinaryBlackHole) – Binary black hole object with new binaries added
id_nums (numpy.ndarray) – ID numbers of the new binary black holes with
inttype
- mcfacts.physics.binary.formation.close_encounters_check(id_nums, filing_cabinet, smbh_mass, disk_bh_pro_orb_ecc_crit)
Calculates which prograde objects will have close encounters in this timestep.
Takes as inputs the singleton objects locations,masses & orbital eccentricities, and takes the candidate encounter population from objects with orbital eccentricities damped to < orb_ecc_crit. Among this damped population, checks if their separations are less than the mutual Hill sphere of any 2 adjacent objects. If this is the case, determine the smallest separation pairs (in units of their mutual Hill sphere) to form a set of actual encounters (this module does handle cases where 3 or more bodies might form some set of binaries which would be mutually exclusive; however it does not handle or even flag the implied triple system dynamics). Returns a 2xN array of the relevant indices, for further handling to form actual encounters & assign additional parameters (e.g. angular momentum of the binary).
- Parameters:
id_nums (float array) – ID numbers of relevant objects (single, prograde, outer disk)
filing_cabinet (AGNFilingCabinet) – filing cabinet holding parameters of objects in the disk
smbh_mass (float) – Mass [M_sun] of the SMBH
disk_bh_pro_orb_ecc_crit (float) – Critical eccentricity [unitless] allowing bin formation and migration
- Returns:
encounter_id_nums – array of ID numbers corresponding to objects that will have a close encounter, it has a length of the number of encounters to form (N) and a width of 2.
- Return type:
[2,N] int array
- mcfacts.physics.binary.formation.divide_types_encounters(id_nums, encounter_categories, filing_cabinet)
Divide ID numbers of close encounter objects by their type.
Takes in the (2,N) array of ID numbers of objects that will encounter each other. Tests each pair to see if it is a BH-BH, BH-star, or star-star pair and returns 3 arrays with ID numbers for objects in each category.
- Parameters:
id_nums (numpy.ndarray) – ID numbers of objects that will encounter each other
encounter_categories (list or numpy.ndarray) – List of types of encounters E.g., [[0, 0], [0, 1], [1, 1]] will return 3 arrays with ID numbers for pairs with BH-BH, BH-star, and star-star types.
filing_cabinet (AGNFilingCabinet) – Filing cabinet holding information for all objects in the disk
- Returns:
results – Dictionary where the key is the pairing and the value is the (2, N) array of ID numbers
- Return type: