Dark Matter Profile Heating¶
Class providing models of heating applied to dark matter-only halo profiles. Heating can modify the density profile of a dark matter halo, for example due to tidal shocks, dynamical heating from baryons, or other perturbative processes. This class returns a massDistributionHeatingClass object encoding the heating distribution for a given node.
Default implementation: darkMatterProfileHeatingNull
Methods¶
get→class(massDistributionHeatingClass)Return the dark matter profile heating in the dark matter-only profile.
type(treeNode), intent(inout) :: node
darkMatterProfileHeatingDecayingDarkMatter¶
A dark matter profile heating class that constructs massDistributionHeatingDecayingDarkMatter objects to compute heating due to decaying dark matter.
Methods
computeFactors— Compute memoized factors.
Parameters
[gamma](default0.5d0) — Parameter controlling the magnitude of heating due to mass loss.[includeKickHeating](default.true.) — Parameter controlling whether heating due to velocity kicks is to be included.[radiusEscape]— The radius beyond which a particle is assumed to have escaped the potential.[time]— The time at which decays should be evaluated.[gamma](default0.5d0) — Parameter controlling the magnitude of heating due to mass loss.[includeKickHeating](default.true.) — Parameter controlling whether heating due to velocity kicks is to be included.
darkMatterProfileHeatingImpulsiveOutflow¶
A dark matter profile heating model which accounts for heating due to impulsive outflows. The quantity
has been accumulated by the nodeOperatorImpulsiveOutflowEnergy node operator object—radially-dependent factors are then applied in the massDistributionHeatingImpulsiveOutflow mass distribution object returned from our factory.
Parameters
[impulsiveEnergyFactor](default1.0d0) — The parameter \(\alpha\) appearing in the impulsive outflow heating rate.[energyImpulsiveOutflowDisk]— The impulsive energy of outflows from the disk.[energyImpulsiveOutflowSpheroid]— The impulsive energy of outflows from the spheroid.[impulsiveEnergyFactor](default1.0d0) — The parameter \(\alpha\) appearing in the impulsive outflow heating rate.
darkMatterProfileHeatingMonotonic¶
A dark matter profile heating model builds massDistributionHeatingMonotonic objects to enforce monotonic heating energy perturbations.
Methods
computeSolution— Compute a solution for the heated profile.
Parameters
[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.[toleranceRelativeVelocityDispersion](default1.0d-6) — The relative tolerance to use in numerical solutions for the velocity dispersion in dark-matter-only density profiles.[toleranceRelativeVelocityDispersionMaximum](default1.0d-3) — The maximum relative tolerance to use in numerical solutions for the velocity dispersion in dark-matter-only density profiles.[radiusVirial]— The virial radius (in Mpc) of the halo, defining the outer boundary up to which the monotonic heating calculation tracks the energy-ordered shell mapping from the initial to heated density 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.
darkMatterProfileHeatingMonotonicWeak¶
A dark matter profile heating model builds massDistributionHeatingMonotonicWeak objects to enforce monotonic heating energy perturbations. This classes enforces a weaker condition (compared to darkMatterProfileHeatingMonotonic).
Parameters
[toleranceShellCrossing](default1.0d-3) — The tolerance adopted in determining if the no-shell-crossing assumption is valid.[toleranceShellCrossing](default1.0d-3) — The tolerance adopted in determining if the no-shell-crossing assumption is valid.
darkMatterProfileHeatingNull¶
A dark matter profile heating model which constructs massDistributionHeatingNull objects to provide zero heating.
(Default implementation)
Parameters
[dimensionless](default.true.) — If true the null profile is considered to be dimensionless.
darkMatterProfileHeatingSummation¶
A dark matter profile heating model which sums over other heat sources.
Methods
list— Return a list of all sub-components.
darkMatterProfileHeatingTidal¶
A dark matter profile heating class that constructs massDistributionHeatingTidal objects to compute heating due to tidal shocks.
Methods
specificEnergyTerms— Compute the first and second order energy perturbations.initialize— (Re)initialize the parameters of the tidal heating distribution.
Parameters
[coefficientSecondOrder0](default0.0d0) — The coefficient, \(a_0\), appearing in the second-order heating term, \(f_2 = a_0 + a_1 \mathrm{d}\log \rho/\mathrm{d} \log r + a_2 (\mathrm{d}\log \rho/\mathrm{d} \log r)^2\).[coefficientSecondOrder1](default0.0d0) — The coefficient, \(a_1\), appearing in the second-order heating term, \(f_2 = a_0 + a_1 \mathrm{d}\log \rho/\mathrm{d} \log r + a_2 (\mathrm{d}\log \rho/\mathrm{d} \log r)^2\).[coefficientSecondOrder2](default0.0d0) — The coefficient, \(a_2\), appearing in the second-order heating term, \(f_2 = a_0 + a_1 \mathrm{d}\log \rho/\mathrm{d} \log r + a_2 (\mathrm{d}\log \rho/\mathrm{d} \log r)^2\).[correlationVelocityRadius](default-1.0d0) — The velocity-position correlation function, \(\chi_\mathrm{r,v}\), as defined by Gnedin and Ostriker (1999) which controls the strength of the second order heating term.[efficiencyDecay](default1.0d0) — Efficiency of the decay of the tidal tensor integral.[applyPreInfall](default.false.) — If true, tidal heating is applied pre-infall.[applyPreInfall](default.false.) — If true, tidal mass loss is applied pre-infall.[heatSpecificNormalized]— The normalized specific tidal heating, \(Q = \epsilon / r^2\).[coefficientSecondOrder0](default0.0d0) — The coefficient, \(a_0\), appearing in the second-order heating term, \(f_2 = a_0 + a_1 \mathrm{d}\log \rho/\mathrm{d} \log r + a_2 (\mathrm{d}\log \rho/\mathrm{d} \log r)^2\).[coefficientSecondOrder1](default0.0d0) — The coefficient, \(a_1\), appearing in the second-order heating term, \(f_2 = a_0 + a_1 \mathrm{d}\log \rho/\mathrm{d} \log r + a_2 (\mathrm{d}\log \rho/\mathrm{d} \log r)^2\).[coefficientSecondOrder2](default0.0d0) — The coefficient, \(a_2\), appearing in the second-order heating term, \(f_2 = a_0 + a_1 \mathrm{d}\log \rho/\mathrm{d} \log r + a_2 (\mathrm{d}\log \rho/\mathrm{d} \log r)^2\).[correlationVelocityRadius](default-1.0d0) — The velocity-position correlation function, \(\chi_\mathrm{r,v}\), as defined by Gnedin and Ostriker (1999) which controls the strength of the second order heating term.
darkMatterProfileHeatingTwoBodyRelaxation¶
A dark matter profile heating class which returns a massDistributionHeatingTwoBodyRelaxation objects to compute heating due to two-body relaxation.
Parameters
[massParticle]— The particle mass to use for two-body relaxation calculations.[lengthSoftening]— The softening length to use for two-body relaxation calculations.[timeStart]— The time at which two-body relaxation is assumed to have begun.[efficiency]— The dimensionless efficiency factor (between 0 and 1) controlling what fraction of the energy transferred by two-body gravitational scattering actually heats the dark matter halo, accounting for partial thermalization of the relaxation energy.[massParticle]— The particle mass to use for two-body relaxation calculations.[lengthSoftening]— The softening length to use for two-body relaxation calculations.[timeRelaxing]— The time for which the system has been relaxing.[efficiency]— The fractional efficiency of two-body relaxation heating.