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()
示例#2
0
文件: doall.py 项目: alexji/pynbody
#    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]')
示例#3
0
#    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]')
示例#4
0
    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')
示例#5
0
    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');