Cooling Radii¶
Class providing models of the cooling radius (in Mpc) for gas in the hot halo surrounding a galaxy, defined as the radius within which gas can radiate its thermal energy within a specified cooling time. Gas inside the cooling radius is expected to have cooled and infallen onto the galaxy, driving star formation. The growth rate of the cooling radius determines the rate at which new gas becomes available to cool, and together with the freefall radius sets which cooling regime (rapid cooling vs.quasi-static) applies to a given halo.
Default implementation: coolingRadiusSimple
Methods¶
radius→double precisionReturns the cooling radius for gas in the hot atmosphere surrounding the galaxy in
nodein units of Mpc.type(treeNode), intent(inout), target :: node
radiusGrowthRate→double precisionReturns the rate of increase of the cooling radius for gas in the hot atmosphere surrounding the galaxy in
nodein units of Mpc/Gyr.type(treeNode), intent(inout) :: node
coolingRadiusBetaProfile¶
A cooling radius class for \(\beta\)-profile halos. Computes the cooling radius by assuming that the hot gas density profile is a \(\beta\)-profile (\(\rho(r) \propto [r^2+r_\mathrm{c}^2]^{-1}\)), and that the cooling rate scales as density squared, \(\dot{E}\propto \rho^2\), such that the cooling time scales as inverse density, \(t_\mathrm{cool} \propto \rho^{-1}\). Consequently, the cooling radius is given by
where \(t_0\), and \(t_\mathrm{virial}\) are the cooling times at zero radius and the virial radius respectively.
Methods
initialize— (Re)initialize the parameters of the \(\beta\)-profile mass distribution.
coolingRadiusIsothermal¶
A cooling radius class that computes the cooling radius by assuming an isothermal density profile, and a cooling rate proportional to density squared. This implies a cooling time:
The cooling radius is then derived using
which implies
where \(t_\mathrm{cool,virial}\) is the cooling time at the virial radius.
Methods
calculationReset— Reset memoized calculations.
coolingRadiusSimple¶
A cooling radius class that computes the cooling radius by seeking the radius at which the time available for cooling (see coolingTimeAvailable) equals the cooling time (see coolingTime). The growth rate is determined consistently based on the slope of the density profile, the density dependence of the cooling function and the rate at which the time available for cooling is increasing. This method assumes that the cooling time is a monotonic function of radius.
(Default implementation)
Methods
calculationReset— Reset memoized calculations.