Stellar Multiplicity Object¶
The properties of multiple systems in the stellar population is
defined by the stellar multiplicity object. The multiplicity classes
are defined in spisea/imf/multiplicity.py.
To call a multiplicity class:
from spisea.imf import multiplicity
multi_obj = multiplicity.<class_name>
The multiplicity object is an input for the IMF Object, as it impacts how the stellar masses are drawn.
The user can choose either
an unresolved or a resolved multiplicity object. If a resolved
multiplicity object is selected, then orbital parameters are
assigned to each companion star (e.g semi-major axis, eccentricity,
inclination). These values are added as additional columns in the companions
table off of the cluster object.
Note that the synthetic photometry
returned in the star_systems table off the cluster object is the
same for both unresolved and resolved multiplicity classes: it
represents the combined photometry of all stars within a given system.
Unresolved Multiplicity Classes¶
- class imf.multiplicity.MultiplicityUnresolved(MF_amp=0.44, MF_power=0.51, CSF_amp=0.5, CSF_power=0.45, CSF_max=3, q_power=-0.4, q_min=0.01, companion_max=False)¶
The properties of stellar companions (see notes below). The default parameters are as described in Lu et al. 2013. These parameters are most appropriate for stellar populations with ages <10 Myr.
- Parameters
- MF_ampfloat, optional
The amplitude of the power-law describing the Multiplicity Fraction as a function of stellar mass.
- MF_powerfloat, optional
The power of the power-law describing the Multiplicity Fraction as a function of stellar mass.
- CSF_ampfloat, optional
The amplitude of the power-law describing the companion star fraction as a function of stellar mass.
- CSF_powerfloat, optional
The power of the power-law describing the companion star fraction as a function of stellar mass.
- CSF_maxfloat, optional
The maximum allowed companion star fraction, which is the expectation value for the number of companion stars. Given a CSF_max = 3, some systems will still have more than 3 companions.
- q_powerfloat, optional
The power of the power-law describing the probability density function for the mass ratio.
- q_minfloat, optional
The minimum allowed Q value for the probability density function of the mass ratio.
- companion_maxbool, optional
Sets CSF_max is the max as the max number of companions. Default False.
Notes
The number of stellar companions, their masses, and separations are be described by the following functions:
Multiplicity Fraction – the number of stellar systems that host multiple stars. In other words, the number of primary stars with companions. The multiplicity fraction (MF) is typically described as:
B + T + Q + ... MF = --------------------- S + B + T + Q + ...
where S = single, B = binary, T = triple, Q = quadruple, etc. The MF also changes with mass and this dependency can be described as a power-law:
MF(mass) = MF_amp * (mass ** MF_power)
However, in the brown dwarf mass regime, it is currently recognized that only binaries are possible, and the MF decreases dissimilarly to higher masses (> 0.08 solar masses). The values for this range are given by Aberasturi et al. (2014) and Fontanive et al. (2023).
Companion Star Fraction – the expected number of companions in a multiple system. The companion star fraction (CSF) also changes with mass and this dependency can be described as a power-law:
CSF(mass) = CSF_amp * (mass ** CSF_power)
The companion star fraction is clipped to some maximum value, CSF_max. The actual number of companions is drawn from a Poisson distribution with an expectation value of CSF.
In the brown dwarf regime we impose an assumption that only binary systems are possible due to current literature trends.
Mass Ratio (Q) – The ratio between the companion star mass and primary star mass, Q = (m_comp / m_prim ) has a probability density function described by a powerlaw:
P(Q) = Q ** q_power for q_min <= Q <= 1
Current observations show no significant mass dependence.
Methods
companion_star_fraction(mass)Given a star's mass, determine the average number of companion stars (companion star fraction = CSF).
multiplicity_fraction(mass)Given a star's mass, determine the probability that the star is in a multiple system (multiplicity fraction = MF).
random_q(x)Generative function for companion mass ratio, equivalent to the inverse of the CDF.
- companion_star_fraction(mass)¶
Given a star’s mass, determine the average number of companion stars (companion star fraction = CSF). For brown dwarfs we impose a hard limit of one companion.
- Parameters
- massfloat or numpy array
Mass of primary star
- Returns
- csffloat or numpy array
Companion Star Fraction, the expected number of companions for a star at this mass.
- multiplicity_fraction(mass)¶
Given a star’s mass, determine the probability that the star is in a multiple system (multiplicity fraction = MF).
Modified to allow binary fraction to decrease in brown dwarf regime. Supported by Aberasturi et al. (2014) and Fontanive et al. (2018).
- Parameters
- massfloat or numpy array
Mass of primary star.
- Returns
- mffloat or numpy array
Multiplicity Fraction, the fraction of stars at this mass that will have one or more companions.
- random_q(x)¶
Generative function for companion mass ratio, equivalent to the inverse of the CDF.
q = m_compnaion / m_primary P(q) = q ** beta for q_min <= q <= 1
- Parameters
- xfloat or array_like
Random number between 0 and 1.
- Returns
- qfloat or array_like
companion mass ratio(s)
Resolved Multiplicity Classes¶
- class imf.multiplicity.MultiplicityResolvedDK(a_amp=379.79953034, a_break=4.90441533, a_slope1=-1.80171539, a_slope2=4.23325571, a_std_slope=1.19713084, a_std_intercept=1.28974264, **kwargs)¶
Bases:
MultiplicityUnresolvedSub-class of MultiplicityUnresolved that adds semimajor axis and eccentricity information for multiple objects from distributions described in Duchene and Kraus 2013
For brown dwarf regime, mean separation and std are given by Fontanive et al. (2018).
- Parameters
- a_amp: float, optional
Ampltiude of the broken power law describing the log_semimajoraxis
- a_break: float, optional
Break location on the x-axis of the broken power law describing the log_semimajoraxis
- a_slope1: float, optional
Slope of the left side of the broken power law describing the log_semimajoraxis
- a_slope2: float, optional
Slope of the right side of the broken power law describing the log_semimajoraxis
- a_std_slope: float, optional
Slope of the line that fit sigma_log_semimajoraxis vs log_mass
- a_std_intercept: float, optional
Intercept of the line that fit sigma_log_semimajoraxis vs log_mass
Methods
companion_star_fraction(mass)Given a star's mass, determine the average number of companion stars (companion star fraction = CSF).
log_semimajoraxis(mass)Generate the semimajor axis for a given mass.
multiplicity_fraction(mass)Given a star's mass, determine the probability that the star is in a multiple system (multiplicity fraction = MF).
random_companion_count(x, CSF, MF)Helper function: calculate number of companions.
random_e(x)Generate random eccentricity from the inverse of the CDF where the PDF is f(e) = 2e from Duchene and Kraus 2013
random_is_multiple(x, MF)Helper function: determine if star is in multiple system.
random_keplarian_parameters(x, y, z)Generate random incliniation and angles of binary system
random_q(x)Generative function for companion mass ratio, equivalent to the inverse of the CDF.