Almost all particles in halo have net negative cooling rate

Justo Antonio Gonzalez Villalba
  • 1
  • 27 May '22

Hello,

I have seen that TNG300-1 halos have almost all gas particles with net negative cooling rates (GFM_CoolingRate), indicating heating. For example halo 100 has only 52 particles with positive cooling rate and 2769386 with negative, therefore heating.

I was expecting that many gas particles would have a net positive cool rate, consequence of X-Ray emission, or does GFM_CoolingRate not capture X-Ray emission?

Additionally: To compute the total energy loss/gain for the cell, it is necessary to multiply by the cell volume (Mass/Density) or by the inverse of nH number density?

Thanks a lot for your help!

Dylan Nelson
  • 27 May '22

Hello,

I imagine that massive halos at z=0 have little gas with net cooling. The situation might be quite different at high redshift, and/or for lower mass halos.

As to what physical processes are actually included in this value, I reference you to Section 2.4 of Vogelsberger+13. X-ray lines, as well as bremsstrahlung, would be included.

For your reference, I attach some old code to compute a "cooling time", which should make more explicit the units and how you would multiply GFM_CoolingRate by density factors:

    def coolingTimeGyr(self, code_dens, code_gfmcoolrate, code_u):
        """ Calculate a cooling time in Gyr from three code units inputs (i.e. snapshot values) of Density, GFM_CoolingRate, InternalEnergy. """
        dens_cgs = self.codeDensToPhys(code_dens, cgs=True) # g/cm^3
        ratefact = self.hydrogen_massfrac**2 / self.mass_proton**2 * dens_cgs # 1/(g*cm^3)
        coolrate = code_gfmcoolrate * ratefact # erg cm^3/s * (1/g/cm^3) = erg/s/g (i.e. specific rate)
        u_cgs_spec = code_u * self.UnitVelocity_in_cm_per_s**2 # i.e. (km/s)^2 to (cm/s)^2, so specific erg/g
        t_cool = u_cgs_spec / (-1.0*coolrate) / self.s_in_Gyr

        # if lambda_net is positive set t_cool=nan (i.e. actual net heating, perhaps from the background)
        w = np.where(code_gfmcoolrate >= 0.0)
        t_cool[w] = np.nan

        return t_cool.astype('float32')
Justo Antonio Gonzalez Villalba
  • 1
  • 29 May '22

Thank you for the reference and code. Indeed X-ray emission is included, and the red-shift is z=0 (last snapshot 99)

In reality it seems like the net heating/cooling is actually almost 0, since the average GFM_CoolingRate is of order 1.51e-23 ergcm^3/s and average hydrogen number density is 1.66e-3 1/cm^3, at the end summing up all particles results in 2769386 1.51e-23*1.66e-3 = 6.95e-20 erg/s which is almost 0, compared with the typical X-Ray luminosity of 1e44 erg/s.

So there seems to be a perfect cooling/heating balance globally in the cluster, is this a possible scenario or there is something wrong with these numbers?

For the record, it seems all black holes are in low accretion mode, with BH_MdotBondi/BH_MdotEddington is in between 4.45e-11 and 1.83e-02

Dylan Nelson
  • 30 May '22

This is the net cooling rate, and per gas cell. If you separately compute the x-ray emission (e.g. just with the simple bremsstrahlung formula), and integrate over all the gas cells in a cluster, you will see the value is comparable to the erg/s you quote.

Justo Antonio Gonzalez Villalba
  • 30 May '22

If I calculate the bolometric cooling rate as [nH**2]x[GFM_CoolingRate ]x[CellVolume] then I obtain -1.87e44 erg/s which is indeed comparable to typical bolometric X-Ray luminosity. However it all looks very smooth, not clearly associated with AGN feedback (see pic). What would be the main heating process responsible of such strong but smooth heating?GFM_CoolingRate.png

Dylan Nelson
  • 30 May '22

Do I understand correctly that the total net cooling rate is negative? This indicates net cooling (whereas positive would indicate net heating).

Justo Antonio Gonzalez Villalba
  • 30 May '22

Yes the total value of [nH**2]x[GFM_CoolingRate ]x[CellVolume] sum over all gas particles is negative, but I thought that negative cooling rate indicated heating. If negative cooling rate indicates actual cooling then it all makes sense, as this would just be a consequence of the smooth X-Ray luminosity.

Dylan Nelson
  • 30 May '22

Yes apologies, if GFM_CoolingRate (the net rate) is positive, this indicates net heating.

If it is negative, this indicates net cooling.

Justo Antonio Gonzalez Villalba
  • 30 May '22

Thanks a lot for the support and clarifications!

  • Page 1 of 1