def make_sfh(s, output, cr): #s_agn = pynbody.load('/nobackup/nnsanche/pioneer50h243.1536g1bwK1BH/pioneer50h243.1536gst1bwK1BH.003456') s_agn = pynbody.load( '/nobackup/ibutsky/simulations/patient0_nocr/pioneer50h243.1536gst1bwK1BH.%06d' % (output)) # s_sn = pynbody.load('/nobackup/nnsanche/NO_BHs/pioneer50h243.1536gst1bwK1/pioneer50h243.1536gst1bwK1.003456') s_cr = pynbody.load( '/nobackup/ibutsky/simulations/patient0_new/pioneer50h243.1536gst1bwK1BH.002432' ) s_agncr = pynbody.load( '/nobackup/ibutsky/simulations/patient0_agncr/pioneer50h243.1536gst1bwK1BH.%06d' % (output)) plt.xlim(0, 12) # sfh_p0noBH = pp.sfh(s_sn, label = 'Thermal SNe only') sfh_cr = pp.sfh(s_cr, label='CR SNe feedback') sfh_p0 = pp.sfh(s_agn, label='P0') sfh_agncr = pp.sfh(s_agncr, label='P0+CR') plt.legend() plt.savefig('sfh_compare_%06d.png' % (output)) print(sfh_cr[0]) # print(sfh_cr.d) f = h5.File('sfh_data.h5', 'w') f.create_dataset("sfh_p0", data=sfh_p0[0]) f.create_dataset("sfh_agncr", data=sfh_agncr[0]) f.create_dataset("sfh_cr", data=sfh_cr[0]) f.create_dataset("time_p0", data=sfh_p0[1]) f.create_dataset("time_agncr", data=sfh_agncr[1]) f.create_dataset("time_cr", data=sfh_cr[1]) f.close()
# pynbody.plot.generic.hist2d(unc['tconv'].in_units('yr'),unc['uDotFB'],xlogrange=True,ylogrange=True) pp.plt.ylabel(r'log($\dot{u}_{FB}$ [system units])') pp.plt.xlabel('log(t$_{conv}$ [yr])') pp.plt.savefig(simname+'.uDotFBtconv.png') pp.plt.clf() pynbody.plot.generic.hist2d(unc['effTemp'],unc['uDotFB'],xlogrange=True,ylogrange=True) pp.plt.ylabel(r'log($\dot{u}_{FB}$ [system units])') pp.plt.xlabel('log(T$_{eff}$ [K])') pp.plt.savefig(simname+'.uDotFBeffTemp.png') pp.plt.clf() except: pass try: pp.sbprofile(h[i],filename=simname+'.sbprof.png',center=False) pp.sfh(h[i],filename=simname+'.sfh.png',nbins=500,clear=True) pp.rotation_curve(h[i],filename=simname+'.rc.png',quick=True, max='40 kpc',center=False) pp.rotation_curve(h[i],filename=simname+'.rcparts.png',quick=True, parts=True, legend=True, max='40 kpc',center=False) pp.rho_T(h[i].gas,filename=simname+'.phase.png',rho_units='m_p cm^-3', x_range=[-5,2], y_range=[3,8]) pp.ofefeh(h[i].stars, filename=simname+'.ofefeh.png', weights=h[i].stars['mass'].in_units('Msol'), scalemin=1e3, scalemax=1e9, x_range=[-3,0.3],y_range=[-0.5,1.0]) pp.mdf(h[i].stars,filename=simname+'.mdf.png', range=[-4,0.5]) pp.density_profile(h[i].dark,filename=simname+'.dmprof.png',center=False) plt.clf() plt.loglog(gashaloprof['rbins'].in_units('kpc'), gashaloprof['density'].in_units('m_p cm^-3')) plt.xlabel('r [kpc]')
# pynbody.plot.generic.hist2d(unc['tconv'].in_units('yr'),unc['uDotFB'],xlogrange=True,ylogrange=True) pp.plt.ylabel(r'log($\dot{u}_{FB}$ [system units])') pp.plt.xlabel('log(t$_{conv}$ [yr])') pp.plt.savefig(simname+'.uDotFBtconv.png') pp.plt.clf() pynbody.plot.generic.hist2d(unc['effTemp'],unc['uDotFB'],xlogrange=True,ylogrange=True) pp.plt.ylabel(r'log($\dot{u}_{FB}$ [system units])') pp.plt.xlabel('log(T$_{eff}$ [K])') pp.plt.savefig(simname+'.uDotFBeffTemp.png') pp.plt.clf() except: pass try: pp.sbprofile(h[i],filename=simname+'.sbprof.png',center=False) pp.sfh(h[i],filename=simname+'.sfh.png',nbins=500) pp.rotation_curve(h[i],filename=simname+'.rc.png',quick=True, max='40 kpc',center=False) pp.rotation_curve(h[i],filename=simname+'.rcparts.png',quick=True, parts=True, legend=True, max='40 kpc',center=False) pp.rho_T(h[i].gas,filename=simname+'.phase.png',rho_units='m_p cm^-3', x_range=[-5,2], y_range=[3,8]) pp.ofefeh(h[i].stars, filename=simname+'.ofefeh.png', weights=h[i].stars['mass'].in_units('Msol'), scalemin=1e3, scalemax=1e6, x_range=[-3,0.3],y_range=[-0.5,1.0]) pp.mdf(h[i].stars,filename=simname+'.mdf.png', range=[-4,0.5]) pp.density_profile(h[i].dark,filename=simname+'.dmprof.png',center=False) plt.clf() plt.loglog(gashaloprof['rbins'].in_units('kpc'), gashaloprof['density'].in_units('m_p cm^-3')) plt.xlabel('r [kpc]')
pp.plt.clf() pynbody.plot.generic.hist2d(unc['effTemp'],unc['uDotFB'],xlogrange=True,ylogrange=True) pp.plt.ylabel(r'log($\dot{u}_{FB}$ [system units])') pp.plt.xlabel('log(T$_{eff}$ [K])') pp.plt.savefig(simname+'.uDotFBeffTemp.png') pp.plt.clf() except: pass pp.ofefeh(h[i].stars, filename=simname+'.ofefeh.png', weights=h[i].stars['mass'].in_units('Msol'), scalemin=1e3, scalemax=1e9, x_range=[-3,0.3],y_range=[-0.5,0.7]) try: pp.sbprofile(h[i],filename=simname+'.sbprof.png',center=False) pp.sfh(h[i],filename=simname+'.sfh.png',nbins=500,clear=True) pp.rotation_curve(h[i],filename=simname+'.rc.png',quick=True, max='40 kpc',center=False) pp.rotation_curve(h[i],filename=simname+'.rcparts.png',quick=True, parts=True, legend=True, max='40 kpc',center=False) pp.rho_T(h[i].gas,filename=simname+'.phase.png',rho_units='m_p cm^-3', x_range=[-5,2], y_range=[3,8]) pp.mdf(h[i].stars,filename=simname+'.mdf.png', range=[-4,0.5]) plt.clf() plt.loglog(gashaloprof['rbins'].in_units('kpc'), gashaloprof['density'].in_units('m_p cm^-3')) plt.xlabel('r [kpc]') plt.ylabel(r'$\rho$ [m$_p$ cm$^{-3}$]') plt.ylim(1e-4,1e3) plt.xlim(0.5,500) plt.savefig(simname+'.gasdenprof.png')
totalPristGasMass = np.sum(s.g['mass'].in_units('Msol') * s.g['pgf']) print "Total pristing gas mass is %.2e Msol @ z~%.2lf" % (totalPristGasMass,z) data[indx] = [z, min(s.s['tform'].in_units('yr')), max(s.s['tform'].in_units('yr')), totalStarMass,totalPop3StarMass,totalPolStarMass,totalPriStarMass,totalGasMass,totalPristGasMass] # Create the base name for plots plotfile = "3Mpc_z%.2lf"%z try: print "SFH plot..." titleStr = "Star Form History @ z = %.2lf" % z fig = plt.figure() ax = fig.add_subplot(111) ax.set_title(titleStr) pp.sfh(s,nbins=100) # Star Formation History plt.savefig(plotfile+'.sfh.png') print "SFH for Primordial Stars..." titleStr = "Primordial Star Form History @ z = %.2lf" % z fig = plt.figure() ax = fig.add_subplot(111) ax.set_title(titleStr) plt.title("Primordial Star Formation History @ z=%.2lf"%z) pp.sfh_Z_p(s,nbins=100) # Star Formation History - primordial Z plt.savefig(plotfile+'.sfhPrimordOnly.png') print "Plot Z..." titleStr = "Z @ z = %.3lf" % z + "\nVol ave" pp.sph.image(s.g,qty="metal",width=boxsizestring,cmap="nipy_spectral", denoise=True ,av_z=True, log=True, vmin=1e-7, approximate_fast=False,title=titleStr,qtytitle="$log_{10}\; Z$",filename=plotfile+'.Z.png');