Satellite Merging Timescales¶
Object providing the timescale for a satellite halo to merge with its host halo, given the satellite’s current orbit. The merging timescale is determined by dynamical friction, which dissipates the satellite’s orbital energy and angular momentum until it reaches the center of the host. Implementations typically follow formulae derived from \(N\)-body experiments, parameterized by the Coulomb logarithm and orbital properties.
Default implementation: satelliteMergingTimescalesJiang2008
Methods¶
timeUntilMerging→double precisionReturn the time (in Gyr) until the satellite will merge with its host given the current orbit.
type(treeNode ), intent(inout) :: nodetype(keplerOrbit), intent(inout) :: orbit
satelliteMergingTimescalesBoylanKolchin2008¶
A satellite merging timescale class that computes the time until a satellite galaxy merges with its host using the N-body calibrated dynamical friction formula of Boylan-Kolchin et al. (2008). The predicted timescale can be rescaled by the [timescaleMultiplier] parameter.
Parameters
[timescaleMultiplier](default0.75d0) — A multiplier for the merging timescale in dynamical friction timescale calculations.
satelliteMergingTimescalesInfinite¶
A satellite merging timescale class which always gives an infinite timescale for merging (technically, it returns a value close to the largest representable double precision floating point number which should be sufficiently close to infinity for practical purposes).
satelliteMergingTimescalesJiang2008¶
A satellite merging timescales class which computes merging timescales using the dynamical friction calibration of Jiang et al. (2008). Jiang et al. (2008) find that their fitting formula does not perfectly capture the results of N-body simulations, instead showing a scatter in the ratio \(T_\mathrm{fit}/T_\mathrm{sim}\) where \(T_\mathrm{fit}\) is the merging time from their fitting formula and \(T_\mathrm{sim}\) is that measured from their N-body simulation. Furthermore, they show that the distribution of \(T_\mathrm{fit}/T_\mathrm{sim}\) is well described by a log-normal with dispersion (in \(\log[T_\mathrm{fit}/T_\mathrm{sim}]\)) of \(\sigma=0.4\). Random perturbations can be applied to the merger times returned by this implementation by setting \(\sigma=\)[scatter]\(>0\) which will cause the merger time to be drawn from a log-normal distribution of width \(\sigma\) with median equal to \(T_\mathrm{fit}\).
(Default implementation)
Parameters
[timescaleMultiplier](default0.75d0) — A multiplier for the merging timescale in dynamical friction timescale calculations.[scatter](default0.0d0) — Specifies whether or not to add random scatter to the dynamical friction timescales in theJiang2008satellite merging time implementation.
satelliteMergingTimescalesLaceyCole1993¶
A satellite merging timescale class which computes merging timescales using the dynamical friction calculation of Lacey and Cole (1993). Timescales are multiplied by the value of the [timescaleMultiplier] input parameter.
Methods
timeUntilMergingMassDependence— Return the mass-dependent part of the time (in Gyr) until the satellite will merge with its host.
Parameters
[timescaleMultiplier](default0.75d0) — A multiplier for the merging timescale in dynamical friction timescale calculations.
satelliteMergingTimescalesLaceyCole1993Tormen¶
A satellite merging timescale class which computes merging timescales using the dynamical friction calculation of Lacey and Cole (1993) with a parameterization of orbital parameters designed to fit the results of Tormen (1997) as described by Cole et al. (2000). Timescales are multiplied by the value of the mergingTimescaleMultiplier input parameter. Specifically, the merging time is taken to be:
where \(f_\tau=\)mergingTimescaleMultiplier, \(\tau_\mathrm{dynamical}\) is the dynamical time of the host halo and \(B(x)=\hbox{erf}(x)-2 x \exp(x)/\sqrt{\Pi}\). The orbital factor \(\Phi \equiv \epsilon^{0.78} (R_\mathrm{c}/R_\mathrm{virial})^2\) is drawn at random from a log-normal distribution with median \(-0.14\) and dispersion \(0.26\) as found by Cole et al. (2000).
satelliteMergingTimescalesPoulton2021¶
A satellite merging timescales class which computes merging timescales using the fitting formula of Poulton et al. (2021). The merging timescale is:
where \(T_\mathrm{dyn}(r) = r/v_\mathrm{circ}(r)\) is the local dynamical time, \(R_\mathrm{peri}\) is the pericentric distance computed using the locally Keplerian approximation with the enclosed host mass, and
Parameters are set via \(A=\)A, \(c=\)[c], \(b_\mathrm{interior}=\)[bInterior], and \(b_\mathrm{exterior}=\)[bExterior]. The default parameter values \(A=5.5\), \(c=0.2\), \(b_\mathrm{interior}=-0.5\), and \(b_\mathrm{exterior}=-1.0\) are those favored by Poulton et al. (2021).
Parameters
[A](default5.5d0) — The normalization constant, \(A\), in the Poulton et al. (2021) satellite merging timescale fitting formula.[c](default0.2d0) — The exponent, \(c\), on the pericentric distance ratio in the Poulton et al. (2021) satellite merging timescale fitting formula.[bInterior](default-0.5d0) — The radial exponent, \(b\), in the Poulton et al. (2021) satellite merging timescale fitting formula for satellites inside the virial radius (\(r < R_\mathrm{vir}\)).[bExterior](default-1.0d0) — The radial exponent, \(b\), in the Poulton et al. (2021) satellite merging timescale fitting formula for satellites outside the virial radius (\(r \geq R_\mathrm{vir}\)).
satelliteMergingTimescalesPreset¶
A satellite merging timescale class assumes that merging times have been preset for every node (or, at least, every node which becomes a satellite). It therefore simply returns the preset merging time.
satelliteMergingTimescalesRandom¶
Returns a satellite merging timescale chosen randomly between the current snapshot time and the next snapshot time, providing a simple statistical prescription for satellite merging that avoids artificial synchronization with snapshot output times.
Parameters
[countPoints]— The number of random points to generate.[xRange]— The range within which to generate points in the \(x\)-direction.[yRange]— The range within which to generate points in the \(y\)-direction.[zRange]— The range within which to generate points in the \(z\)-direction.
satelliteMergingTimescalesVillalobos2013¶
A satellite merging timescale class which computes merging timescales using the modifier of Villalobos et al. (2013) as
where \(\alpha=\)[exponent] and \(\tau^\prime_\mathrm{merge}\) is the merging timescale computed by another satellite merging timescale.
Parameters
[exponent](default0.44d0) — The exponent of \(1+z\) appearing in the Villalobos et al. (2013) modifier for satellite merging timescales.
satelliteMergingTimescalesWetzelWhite2010¶
A satellite merging timescale class that computes the time until a satellite galaxy merges with its host using the N-body calibrated dynamical friction formula of Wetzel and White (2010). The predicted timescale can be rescaled by the [timescaleMultiplier] parameter.
Parameters
[timescaleMultiplier](default0.75d0) — A multiplier for the merging timescale in dynamical friction timescale calculations.
satelliteMergingTimescalesZero¶
A satellite merging timescale class which always gives a zero timescale for merging.