Page MenuHomec4science

plot_heating_rate_Zsol.py
No OneTemporary

File Metadata

Created
Sun, Oct 20, 11:55

plot_heating_rate_Zsol.py

#!/usr/bin/env python
from numpy import *
import sys
import coolinglib
##############################################################################
# init object
##############################################################################
ct_Hydrogen = coolinglib.CTable("HM01/IonRates_Hydrogen.HM01.hdf5")
ct_Helium = coolinglib.CTable("HM01/IonRates_Helium.HM01.hdf5")
ct_Carbon = coolinglib.CTable("HM01/IonRates_Carbon.HM01.hdf5")
ct_Nitrogen = coolinglib.CTable("HM01/IonRates_Nitrogen.HM01.hdf5")
ct_Oxygen = coolinglib.CTable("HM01/IonRates_Oxygen.HM01.hdf5")
ct_Neon = coolinglib.CTable("HM01/IonRates_Neon.HM01.hdf5")
ct_Magnesium= coolinglib.CTable("HM01/IonRates_Magnesium.HM01.hdf5")
ct_Silicon = coolinglib.CTable("HM01/IonRates_Silicon.HM01.hdf5")
ct_Sulphur = coolinglib.CTable("HM01/IonRates_Sulfphur.HM01.hdf5")
ct_Calcium = coolinglib.CTable("HM01/IonRates_Calcium.HM01.hdf5")
ct_Iron = coolinglib.CTable("HM01/IonRates_Iron.HM01.hdf5")
Tables = [ct_Hydrogen,ct_Helium,ct_Carbon,ct_Nitrogen,ct_Oxygen,ct_Neon,ct_Magnesium,ct_Silicon,ct_Sulphur,ct_Calcium,ct_Iron]
ct = ct_Iron
# nx/nH (nH=1)
#print ct.SolarNumberRatio
#print 1./ct.AtomicWeight * ct.SolarMassFraction/ct_Hydrogen.SolarMassFraction
###############################
# plot
###############################
import Ptools as pt
pt.figure()
for k,ct in enumerate(Tables):
i=0 # neutral element
print ct.Ion_Names[i]
if k>1:
fm = 1.0
else:
fm = 1.0 # quantity of metals
print i
#nx = ct.SolarNumberRatio # n/nH
nx = fm* 1./ct.AtomicWeight * ct.SolarMassFraction/ct_Hydrogen.SolarMassFraction
pt.plot(ct.Redshifts[:-1],log10(ct.Heat[i][:-1]*nx),label="%s"%(ct.Ion_Names[i]))
pt.axis([0,10,-30,-20])
pt.xlabel('Redshifts')
pt.ylabel('Ionisation rate Rate')
pt.legend()
pt.show()

Event Timeline