Dark Matter Halo Profiles¶
Object providing the full dark matter halo density profile, including any adiabatic contraction or other modifications due to baryonic effects. This class returns a massDistributionClass object describing the mass distribution within the halo. It is distinct from the dark-matter-only (darkMatterProfileDMOClass) profile, which does not account for baryonic back-reaction on the dark matter.
Default implementation: darkMatterProfileAdiabaticGnedin2004
Methods¶
get→class(massDistributionClass)Return the mass distribution object describing the dark matter density profile of
node, accounting for baryonic effects such as adiabatic contraction. Optionally weight the profile by a specified quantity.type (treeNode ), intent(inout), target :: nodetype (enumerationWeightByType), intent(in ), optional :: weightByinteger , intent(in ), optional :: weightIndex
darkMatterProfileAccelerator¶
An accelerator class for non-dark-matter-only dark matter halo profiles that caches and interpolates previously computed profile quantities to speed up repeated evaluations. The relative tolerance for accepting cached interpolations is set by [toleranceRelative], and the maximum interpolation factor in radius by [factorRadiusMaximum].
Methods
tabulate— Tabulate the mass function.
Parameters
[toleranceRelative](default1.0d-2) — The relative tolerance within which a cached (accelerated) profile estimate is accepted; if the requested radius differs from the cached value by more than this fractional amount, the full profile calculation is recomputed.[factorRadiusMaximum](default3.0d0) — The maximum radial extrapolation factor allowed when using cached profile values for the dark-matter-only profile; if the requested radius exceeds the cached radius by more than this factor, the full calculation is recomputed.[toleranceRelative](default1.0d-2) — The toleranceRelative with which to accept accelerated estimates.[factorRadiusMaximum](default3.0d0) — The maximum radial extrapolation factor allowed when using cached profile values; if the requested radius differs from the cached radius by more than this factor, the full profile is recomputed rather than interpolated.[toleranceRelative](default1.0d-2) — The tolerance with which to accept accelerated estimates.[factorRadiusMaximum](default3.0d0) — The maximum factor by which to interpolate in radius.[nonAnalyticSolver](defaultvar_str('fallThrough')) — Selects how solutions are computed when no analytic solution is available. If set to “fallThrough” then the solution ignoring heating is used, while if set to “numerical” then numerical solvers are used to find solutions.[componentType](defaultvar_str('unknown')) — The component type that this mass distribution represents.[massType](defaultvar_str('unknown')) — The mass type that this mass distribution represents.[tablePointsPerDecade](default10) — The number of points per decade of wavenumber at which to tabulate the transfer function.
darkMatterProfileAdiabaticGnedin2004¶
A non-dark-matter-only dark matter profile class which applies adiabatic contraction to dark matter profiles using the model of Gnedin et al. (2004), building massDistributionSphericalAdiabaticGnedin2004 objects. The shape of the contraction is governed by parameters [A], [omega], and the pivot radius [radiusFractionalPivot], with numerical accuracy controlled by [toleranceRelative].
(Default implementation)
Methods
setBaryonicComponent— Set baryonic components in the mass distribution.computeFactors— Compute factors needed for solving adiabatic contraction.radiusOrbitalMean— Compute the orbit-averaged radius for dark matter.radiusOrbitalMeanDerivative— Compute the derivative of the orbit-averaged radius for dark matter.radiusInitial— Compute the initial radius in the dark matter profile.radiusInitialDerivative— Compute the derivative of the initial radius in the dark matter profile.
Parameters
[A](default0.80d0) — The parameter \(A\) appearing in the Gnedin et al. (2004) adiabatic contraction algorithm.[omega](default0.77d0) — The parameter \(\omega\) appearing in the Gnedin et al. (2004) adiabatic contraction algorithm.[radiusFractionalPivot](default1.0d0) — The pivot radius (in units of the virial radius), \(r_0\), appearing in equation ((15)).[toleranceRelative](default1.0d-2) — The relative tolerance to use in solving for the initial radius in the adiabatically-contracted dark matter profile.[nonAnalyticSolver](defaultvar_str('fallThrough')) — Selects how solutions are computed when no analytic solution is available. If set to “fallThrough” then the solution ignoring adiabatic contraction by baryons is used, while if set to “numerical” then numerical solvers are used to find solutions.[A](default0.80d0) — The parameter \(A\) appearing in the Gnedin et al. (2004) adiabatic contraction algorithm.[omega](default0.77d0) — The parameter \(\omega\) appearing in the Gnedin et al. (2004) adiabatic contraction algorithm.[radiusFractionalPivot](default1.0d0) — The pivot radius (in units of the virial radius), \(r_0\), appearing in equation ((15)).[radiusVirial]— The virial radius, \(r_\mathrm{v}\), appearing in equation ((15)).[darkMatterFraction]— The universal cosmic dark matter fraction \(\Omega_\mathrm{DM}/\Omega_\mathrm{M}\), used to define the initial dark matter fraction in the halo before adiabatic contraction.[darkMatterDistributedFraction]— The fraction of matter assumed to be distributed as the dark matter.[massFractionInitial]— The fraction of matter assumed to be initially distributed as the dark matter.[toleranceRelative](default1.0d-2) — The relative tolerance to use in solving for the initial radius in the adiabatically-contracted dark matter profile.[nonAnalyticSolver](defaultvar_str('fallThrough')) — Selects how solutions are computed when no analytic solution is available. If set to “fallThrough” then the solution ignoring heating is used, while if set to “numerical” then numerical solvers are used to find solutions.[componentType](defaultvar_str('unknown')) — The component type that this mass distribution represents.[massType](defaultvar_str('unknown')) — The mass type that this mass distribution represents.
darkMatterProfileDarkMatterOnly¶
An implementation of non-dark-matter-only dark matter halo profiles that returns the unmodified dark-matter-only profile, i.e. baryonic effects on the dark matter distribution are ignored. Whether to compute velocity dispersions via the Chandrasekhar integral is controlled by [chandrasekharIntegralComputeVelocityDispersion].
Parameters
[chandrasekharIntegralComputeVelocityDispersion](default.true.) — If true, the Chandrasekhar integral is computed using the velocity dispersion, \(\sigma_mathrm{r}(r)\). Otherwise, the velocity dispersion is approximated as \(V_\mathrm{c}(r)/\sqrt{2}\).
darkMatterProfileSIDMIsothermal¶
A dark matter halo profile class that builds massDistributionSphericalSIDMIsothermalBaryons objects for isothermal SIDM profiles containing baryons.
Parameters
[temperature]— The temperature (in Kelvin) of the isothermal gas distribution; used withmassAtomicMeanto compute the 1D velocity dispersion via \(\sigma^2 = k_\mathrm{B} T / (\mu m_\mathrm{H})\).[massAtomicMean]— The mean atomic mass (in atomic mass units) of the distribution.[velocityDispersion]— The 1D velocity dispersion (in km/s) of the isothermal distribution, used directly when notemperatureis specified; sets the thermally broadened line-of-sight velocity spread.[densityNormalization](default0.25d0/Pi) — The density normalization of the isothermal profile.[lengthReference](default1.0d0) — The reference radius (in Mpc) of the isothermal profile at whichdensityNormalizationis evaluated; sets the physical length scale of the \(\rho \propto r^{-2}\) profile.[mass](default1.0d0) — The total mass (in \(\mathrm{M}_\odot\)) enclosed within the reference radius, used to normalize the \(\rho \propto r^{-2}\) density profile whendensityNormalizationis not supplied.[dimensionless](default.true.) — If true the isothermal profile is considered to be dimensionless.[componentType](defaultvar_str('unknown')) — The component type that this mass distribution represents.[massType](defaultvar_str('unknown')) — The mass type that this mass distribution represents.