Virial Orbits¶
Class providing orbital parameters of satellite halos at the time when they first enter the virial radius of their host.
Default implementation: virialOrbitBenson2005
Methods¶
orbit→type(keplerOrbit)Returns a Kepler orbit object describing the orbital parameters (energy, angular momentum, radial and tangential velocities) of a satellite halo at the time it first crosses the virial radius of its host halo.
type(treeNode), intent(inout) :: node , hostlogical , intent(in ) :: acceptUnboundOrbits
velocityDistributionFunction→double precisionReturns the distribution function of orbital velocity \(\mathrm{d}^2p/\mathrm{d}v_r/\mathrm{d}v_\theta(v_r,v_\theta)\).
type (treeNode), intent(inout) :: node , hostdouble precision , intent(in ) :: velocityRadial, velocityTangential
isAngularlyResolved→logicalReturns true if this orbit class provides resolution of the orbital angular coordinates (\(\theta\),\(\phi\)) when setting orbits, false otherwise.
densityContrastDefinition→class(virialDensityContrastClass)Returns a
virialDensityContrastobject describing the virial density contrast used to define this orbit class.velocityTangentialMagnitudeMean→double precisionReturns the mean of the magnitude of tangential velocity averaged over all orbits.
type(treeNode), intent(inout) :: node, host
velocityTangentialVectorMean→double precision, dimension(3)Returns the mean vector of the vector tangential velocity averaged over all orbits.
type(treeNode), intent(inout) :: node, host
angularMomentumMagnitudeMean→double precisionReturns the mean of the magnitude of the angular momentum averaged over all orbits.
type(treeNode), intent(inout) :: node, host
angularMomentumVectorMean→double precision, dimension(3)Returns the mean vector of the angular momentum averaged over all orbits.
type(treeNode), intent(inout) :: node, host
velocityTotalRootMeanSquared→double precisionReturns the square root of the mean of the squared total velocity averaged over all orbits.
type(treeNode), intent(inout) :: node, host
energyMean→double precisionReturns the square root of the mean of the energy averaged over all orbits.
type(treeNode), intent(inout) :: node, host
virialOrbitBenson2005¶
A virial orbits class which selects orbital parameters randomly from the distribution given by Benson (2005). If the virial density contrast definition differs from that used by Benson (2005) then the orbit is assigned based on Benson (2005)’s definition and then propagated to the virial radius relevant to the current definition of density contrast.
(Default implementation)
virialOrbitFixed¶
A virial orbit class that assigns all satellite infall orbits a single fixed set of orbital parameters, with radial velocity \(v_\mathrm{r}=\)[velocityRadial]\(V_\mathrm{virial}\) and tangential velocity \(v_\phi=\)[velocityTangential]\(V_\mathrm{virial}\) in units of the host halo virial velocity. Default values match the approximate peak in the distribution of Benson (2005).
Parameters
[mass](default100.0d0) — The fixed mass (in \(\mathrm{M}_\odot\)) assigned to all newly-formed seed black holes in this implementation, representing the initial black hole mass when a halo first forms a central black hole.[spin](default0.0d0) — The dimensionless spin parameter (between \(-1\) and \(+1\)) assigned to all newly-formed seed black holes, where \(0\) corresponds to a non-rotating Schwarzschild black hole and \(\pm 1\) to a maximally rotating Kerr black hole.[fraction](default0.01d0) — The fixed fraction \(f_\mathrm{outflow}\) of the stellar energy input rate (normalized to a canonical \(1\,\mathrm{M}_\odot\) population) that drives gas outflows, setting the mass loading factor for stellar feedback in the galaxy.[escapeFraction](default0.006d0) — Escape fraction of ionizing photons from young HII regions.[ageLimit](default0.03d0) — The age beyond which all ionizing photons are assumed to escape from HII regions.[timescale](default1.0d0) — The timescale for star formation in the fixed timescale model.[rateStarFormation](default1.0d9) — The rate of star formation in units of \(\mathrm{M}_\odot \hbox{Gyr}^{-1}\).[proposalSize]— The fixed value of the proposal scaling parameter \(\gamma\) used to scale the vector difference between two randomly selected chain states when forming differential evolution proposals.[exponentValue]— The fixed value of the temperature-scaling exponent \(\alpha\) by which the proposal size \(\gamma\) is scaled as \(\gamma \propto T^{\alpha}\) in tempered differential evolution runs.[massResolution](default5.0d9) — The mass resolution to use when building merger trees.[rootVariance]— The root variance of the random error distribution.[velocityRadial](default-0.90d0) — The radial velocity (in units of the host virial velocity) to used for the fixed virial orbits distribution. Default value matches approximate peak in the distribution of Benson (2005).[velocityTangential](default0.75d0) — The tangential velocity (in units of the host virial velocity) to used for the fixed virial orbits distribution. Default value matches approximate peak in the distribution of Benson (2005).[rateCoefficient]— The rate coefficient (in units of cm\(^3\) s\(^{-1}\)) for radiative recombination.[gamma](default0.67d0) — The multiplicative factor, \(\gamma\), used to compute the cooling coefficient.[fractionLossAngularMomentum](default0.3d0) — Specifies the fraction of angular momentum that is lost from cooling/infalling gas.[concentration]— The fixed NFW concentration parameter \(c = r_\mathrm{virial}/r_\mathrm{scale}\) assigned to all halos regardless of mass or redshift, representing the ratio of the virial radius to the scale radius of the dark matter density profile.[metallicity]— The metallicity (relative to Solar) of the IGM.[factor](defaultsqrt(0.5d0)) — The ratio of galaxy radius to \(\lambda r_\mathrm{vir}\) in the “fixed” galactic structure radius solver algorithm. This will be applied to any component for which no component-specific value is provided.[factorDisk](defaultsqrt(0.5d0)) — The ratio of galaxy radius to \(\lambda r_\mathrm{vir}\) in the “fixed” galactic structure radius solver algorithm for disks. This will override the generic value supplied by[factor]for disks.[factorSpheroid](defaultsqrt(0.5d0)) — The ratio of galaxy radius to \(\lambda r_\mathrm{vir}\) in the “fixed” galactic structure radius solver algorithm for spheroids. This will override the generic value supplied by[factor]for spheroids.[radiusFixed](defaultvar_str('virial')) — The radius to use in the “fixed” galactic structure radius solver algorithm. Allowed options are “virial” and “turnaround”.[overdensity]— The fixed linear overdensity \(\delta\) of the large-scale environment assigned uniformly to all halos; a positive value places halos in an overdense region, while negative values simulate voids.[radiusEnvironment](default0.0d0) — The radius of the sphere used to determine the variance in the environmental density.[massEnvironment](default1.0d15) — The mass within the sphere sphere used to determine the variance in the environmental density.[densityContrastValue](default200.0d0) — The virial density contrast to use in the fixed value model.[densityType](defaultvar_str('critical')) — The reference density to use in the fixed value virial density contrast model. Either ofcriticalandmeanare allowed.[turnAroundOverVirialRadius](default2.0d0) — The ratio of the turnaround to virial radii in the fixed value model.[criticalOverdensity](default(3.0d0/20.0d0)*(12.0d0*Pi)**(2.0d0/3.0d0)) — The value to use for the critical overdensity for collapse of dark matter halos when using a fixed value.
virialOrbitIsotropic¶
Virial orbits which assumes an isotropic distribution of infall directions and tangential velocities applied to another virial orbit class.
virialOrbitJiang2014¶
A virial orbits class which selects orbital parameters randomly from the distribution given by Jiang et al. (2015), including the mass and mass-ratio dependence of the distributions. If the virial density contrast definition differs from that used by Jiang et al. (2015) then the orbit is assigned based on Jiang et al. (2015)’s definition and then propagated to the virial radius relevant to the current definition of density contrast.
Methods
parametersSelect— Select the parameter set to use for this satellite/host pairing.
Parameters
[bRatioLow](default[+0.049d0,+0.548d0,+1.229d0]) — Values of the \(B\) parameter of the Jiang et al. (2015) orbital velocity distribution for the three host halo mass ranges, and the \(0.0001\)–\(0.005\) mass ratio.[bRatioIntermediate](default[+1.044d0,+1.535d0,+3.396d0]) — Values of the \(B\) parameter of the Jiang et al. (2015) orbital velocity distribution for the three host halo mass ranges, and the \(0.005\)–\(0.05\) mass ratio.[bRatioHigh](default[+2.878d0,+3.946d0,+2.982d0]) — Values of the \(B\) parameter of the Jiang et al. (2015) orbital velocity distribution for the three host halo mass ranges, and the \(0.05\)–\(0.5\) mass ratio.[gammaRatioLow](default[+0.109d0,+0.114d0,+0.110d0]) — Values of the \(\gamma\) parameter of the Jiang et al. (2015) orbital velocity distribution for the three host halo mass ranges, and the \(0.0001\)–\(0.005\) mass ratio.[gammaRatioIntermediate](default[+0.098d0,+0.087d0,+0.050d0]) — Values of the \(\gamma\) parameter of the Jiang et al. (2015) orbital velocity distribution for the three host halo mass ranges, and the \(0.005\)–\(0.05\) mass ratio.[gammaRatioHigh](default[+0.071d0,+0.030d0,-0.012d0]) — Values of the \(\gamma\) parameter of the Jiang et al. (2015) orbital velocity distribution for the three host halo mass ranges, and the \(0.05\)–\(0.5\) mass ratio.[sigmaRatioLow](default[+0.077d0,+0.094d0,+0.072d0]) — Values of the \(\sigma\) parameter of the Jiang et al. (2015) orbital velocity distribution for the three host halo mass ranges, and the \(0.0001\)–\(0.005\) mass ratio.[sigmaRatioIntermediate](default[+0.073d0,+0.083d0,+0.118d0]) — Values of the \(\sigma\) parameter of the Jiang et al. (2015) orbital velocity distribution for the three host halo mass ranges, and the \(0.005\)–\(0.05\) mass ratio.[sigmaRatioHigh](default[+0.091d0,+0.139d0,+0.187d0]) — Values of the \(\sigma\) parameter of the Jiang et al. (2015) orbital velocity distribution for the three host halo mass ranges, and the \(0.05\)–\(0.5\) mass ratio.[muRatioLow](default[+1.220d0,+1.231d0,+1.254d0]) — Values of the \(\mu\) parameter of the Jiang et al. (2015) orbital velocity distribution for the three host halo mass ranges, and the \(0.0001\)–\(0.005\) mass ratio.[muRatioIntermediate](default[+1.181d0,+1.201d0,+1.236d0]) — Values of the \(\mu\) parameter of the Jiang et al. (2015) orbital velocity distribution for the three host halo mass ranges, and the \(0.005\)–\(0.05\) mass ratio.[muRatioHigh](default[+1.100d0,+1.100d0,+1.084d0]) — Values of the \(\mu\) parameter of the Jiang et al. (2015) orbital velocity distribution for the three host halo mass ranges, and the \(0.05\)–\(0.5\) mass ratio.
virialOrbitLi2020¶
A virial orbit class that draws satellite infall orbital parameters from the bimodal velocity distribution of Li et al. (2020) calibrated from cosmological N-body simulations. The distribution shape parameters \(\mu_1\), \(\mu_2\), \(\sigma_1\), and \(a_0\) can be set to tabulated or custom values.
Methods
eta— Evaluate the \(\eta\) parameter of the Li et al. (2020) virial orbit distribution function.
Parameters
[mu1](default1.20d0) — Values of the \(\mu_1\) parameter of the Li et al. (2020) orbital velocity distribution.[mu2](default1.04d0) — Values of the \(\mu_2\) parameter of the Li et al. (2020) orbital velocity distribution.[sigma1](default0.20d0) — Values of the \(\sigma_1\) parameter of the Li et al. (2020) orbital velocity distribution.[a0](default0.89d0) — Values of the \(a_0\) parameter of the Li et al. (2020) orbital velocity distribution.[a1](default0.30d0) — Values of the \(a_1\) parameter of the Li et al. (2020) orbital velocity distribution.[a2](default-3.33d0) — Values of the \(a_2\) parameter of the Li et al. (2020) orbital velocity distribution.[a3](default0.56d0) — Values of the \(a_3\) parameter of the Li et al. (2020) orbital velocity distribution.[b1](default-1.44d0) — Values of the \(b_1\) parameter of the Li et al. (2020) orbital velocity distribution.[b2](default9.60d0) — Values of the \(b_2\) parameter of the Li et al. (2020) orbital velocity distribution.[c](default0.43d0) — Values of the \(c\) parameter of the Li et al. (2020) orbital velocity distribution.[propagateOrbits](default.true.) — If true, orbits will be propagated to the virial radius of the host halo. Otherwise, no propagation is performed and orbital velocities will correspond to precisely those from the Li et al. (2020) orbital velocity distribution.
virialOrbitLossCone¶
A virial orbit class that draws satellite infall orbital parameters using a loss cone model, accounting for the depletion of nearly radial orbits due to merging. The velocity range and resolution of the orbital distribution grid are controlled by the [velocityMinimum], [velocityMaximum], [velocitiesPerUnit], and [massesPerDecade] parameters.
Methods
tabulate— Tabulate the orbital velocity distribution.interpolants— Compute interpolating factors in the orbital velocity distribution tables.restoreTable— Restore a tabulated solution from file.storeTable— Store a tabulated solution to file.
Parameters
[velocityMinimum]— The minimum velocity (in units of the host virial velocity) for which to compute velocity distributions.[velocityMaximum]— The maximum velocity (in units of the host virial velocity) for which to compute velocity distributions.[countVelocitiesPerUnit]— The number of points per unit of velocity (in units of the host virial velocity) for which to compute velocity distributions.[countMassesPerDecade]— The number of points per decade of mass for which to compute infall properties.[includeInFlightGrowth](default.true.) — If true, linear growth of the velocity field during the flight of the secondary halo to the primary is included.[haloMassFunctionA](default0.707d0) — The parameter \(a\) of the Sheth et al. (2001) halo mass function used in averaging over environment.[haloMassFunctionP](default0.300d0) — The parameter \(p\) of the Sheth et al. (2001) halo mass function used in averaging over environment.[haloMassFunctionNormalization](default0.322d0) — The normalization parameter \(A\) of the Sheth et al. (2001) halo mass function used in averaging over environment.[velocityDispersionMultiplier](default1.0d0) — A multiplier applied to the dispersion of the cosmological velocity field.
virialOrbitMassReduced¶
A virial orbit class that modifies another virialOrbitClass by accounting for any reduction in mass of the primary halo below its “dark matter-only universe” value.
virialOrbitWetzel2010¶
A virial orbits class which selects orbital parameters randomly from the distribution given by Wetzel (2011), including the redshift and mass dependence of the distributions. Note that the parameter \(R_1\) can become negative (which is unphysical) for certain regimes of mass and redshift according to the fitting function for \(R_1\) given by Wetzel (2011). Therefore, we enforce \(R_1>0.05\). Similarly, the parameter \(C_1\) can become very large in some regimes which is probably an artifact of the fitting function used rather than physically meaningful (and which causes numerical difficulties in evaluating the distribution). We therefore prevent \(C_1\) from exceeding \(9.999999\)footnoteWe use this value rather than \(10\) since the GSL \(_2F_1\) hypergeometric function fails in some cases when \(C_1\ge 10\). If the virial density contrast definition differs from that used by Wetzel (2011) then the orbit is assigned based on Wetzel (2011)’s definition and then propagated to the virial radius relevant to the current definition of density contrast.