示例#1
0
                    enzparam.CosmologySimulationGridRightEdge[i][2] *
                    (GadgetBoxRightEdge[2] - GadgetBoxLeftEdge[2]))
    else:
        xmin.append(enzparam.CosmologySimulationGridLeftEdge[i][0])
        xmax.append(enzparam.CosmologySimulationGridRightEdge[i][0])
        ymin.append(enzparam.CosmologySimulationGridLeftEdge[i][1])
        ymax.append(enzparam.CosmologySimulationGridRightEdge[i][1])
        zmin.append(enzparam.CosmologySimulationGridLeftEdge[i][2])
        zmax.append(enzparam.CosmologySimulationGridRightEdge[i][2])

    nx.append(enzparam.CosmologySimulationGridDimension[i][0])
    ny.append(enzparam.CosmologySimulationGridDimension[i][1])
    nz.append(enzparam.CosmologySimulationGridDimension[i][2])

    mass.append(
        pysubs.Array3d(xmin[i], xmax[i], nx[i], ymin[i], ymax[i], ny[i],
                       zmin[i], zmax[i], nz[i]))
    Density.append(
        pysubs.Array3d(xmin[i], xmax[i], nx[i], ymin[i], ymax[i], ny[i],
                       zmin[i], zmax[i], nz[i]))
    TotalEnergy.append(
        pysubs.Array3d(xmin[i], xmax[i], nx[i], ymin[i], ymax[i], ny[i],
                       zmin[i], zmax[i], nz[i]))
    InternalEnergy.append(
        pysubs.Array3d(xmin[i], xmax[i], nx[i], ymin[i], ymax[i], ny[i],
                       zmin[i], zmax[i], nz[i]))
    Vx.append(
        pysubs.Array3d(xmin[i], xmax[i], nx[i], ymin[i], ymax[i], ny[i],
                       zmin[i], zmax[i], nz[i]))
    Vy.append(
        pysubs.Array3d(xmin[i], xmax[i], nx[i], ymin[i], ymax[i], ny[i],
                       zmin[i], zmax[i], nz[i]))
		ymax = GadgetBoxLeftEdge[1] + enzparam.CosmologySimulationGridRightEdge[i][1] * (GadgetBoxRightEdge[1]-GadgetBoxLeftEdge[1])
		zmin = GadgetBoxLeftEdge[2] + enzparam.CosmologySimulationGridLeftEdge[i][2] * (GadgetBoxRightEdge[2]-GadgetBoxLeftEdge[2])
		zmax = GadgetBoxLeftEdge[2] + enzparam.CosmologySimulationGridRightEdge[i][2] * (GadgetBoxRightEdge[2]-GadgetBoxLeftEdge[2])
	else:
		xmin = enzparam.CosmologySimulationGridLeftEdge[i][0] 
		xmax = enzparam.CosmologySimulationGridRightEdge[i][0] 
		ymin = enzparam.CosmologySimulationGridLeftEdge[i][1] 
		ymax = enzparam.CosmologySimulationGridRightEdge[i][1] 
		zmin = enzparam.CosmologySimulationGridLeftEdge[i][2] 
		zmax = enzparam.CosmologySimulationGridRightEdge[i][2] 

	nx   = enzparam.CosmologySimulationGridDimension[i][0]
	ny   = enzparam.CosmologySimulationGridDimension[i][1]
	nz   = enzparam.CosmologySimulationGridDimension[i][2]

	mass = pysubs.Array3d(xmin,xmax,nx,ymin,ymax,ny,zmin,zmax,nz) # This is the grid file used to grid the Gadget input.
	TotalEnergy = pysubs.Array3d(xmin,xmax,nx,ymin,ymax,ny,zmin,zmax,nz) 
	PixelVolume[i] = mass.dx * mass.dy * mass.dz # This is the pixel volume in Gadget coordinates

	[mass,Density,InternalEnergy,Vx,Vy,Vz]  = pysubs.GridGadgetGasInit(snapfile,mass) # This grids the Gadget SPH particles
	masssum = mass.data.sum() * GadgetMass / MSun # This is just for the users benefit
	print "Total Gas Mass for grid %d is %e MSun\n"%(i,masssum)
	Tmin = Tbg * 1000.0 # Temp of background gas in eV
	Umin = Tmin / BulletConstants.Tconv
	#print 'Max internal energy = %.2g, Min Internal Energy = %.2g, Umin = %.2g \n'%(InternalEnergy.data.max(),InternalEnergy.data.min(),Umin)
	Rhomin = 10**LogRhoMin

	# Read in the magnetic field
	bx = pysubs.Array3d(xmin,xmax,nx,ymin,ymax,ny,zmin,zmax,nz)
	by = pysubs.Array3d(xmin,xmax,nx,ymin,ymax,ny,zmin,zmax,nz)
	bz = pysubs.Array3d(xmin,xmax,nx,ymin,ymax,ny,zmin,zmax,nz)	
		ymax.append(GadgetBoxLeftEdge[1] + enzparam.CosmologySimulationGridRightEdge[i][1] * (GadgetBoxRightEdge[1]-GadgetBoxLeftEdge[1]))
		zmin.append(GadgetBoxLeftEdge[2] + enzparam.CosmologySimulationGridLeftEdge[i][2] * (GadgetBoxRightEdge[2]-GadgetBoxLeftEdge[2]))
		zmax.append(GadgetBoxLeftEdge[2] + enzparam.CosmologySimulationGridRightEdge[i][2] * (GadgetBoxRightEdge[2]-GadgetBoxLeftEdge[2]))
	else:
		xmin.append(enzparam.CosmologySimulationGridLeftEdge[i][0])
		xmax.append(enzparam.CosmologySimulationGridRightEdge[i][0]) 
		ymin.append(enzparam.CosmologySimulationGridLeftEdge[i][1])
		ymax.append(enzparam.CosmologySimulationGridRightEdge[i][1]) 
		zmin.append(enzparam.CosmologySimulationGridLeftEdge[i][2])
		zmax.append(enzparam.CosmologySimulationGridRightEdge[i][2]) 

	nx.append(enzparam.CosmologySimulationGridDimension[i][0])
	ny.append(enzparam.CosmologySimulationGridDimension[i][1])
	nz.append(enzparam.CosmologySimulationGridDimension[i][2])

	mass.append(pysubs.Array3d(xmin[i],xmax[i],nx[i],ymin[i],ymax[i],ny[i],zmin[i],zmax[i],nz[i]))
	Density.append(pysubs.Array3d(xmin[i],xmax[i],nx[i],ymin[i],ymax[i],ny[i],zmin[i],zmax[i],nz[i]))
	TotalEnergy.append(pysubs.Array3d(xmin[i],xmax[i],nx[i],ymin[i],ymax[i],ny[i],zmin[i],zmax[i],nz[i]))
	InternalEnergy.append(pysubs.Array3d(xmin[i],xmax[i],nx[i],ymin[i],ymax[i],ny[i],zmin[i],zmax[i],nz[i]))
	Vx.append(pysubs.Array3d(xmin[i],xmax[i],nx[i],ymin[i],ymax[i],ny[i],zmin[i],zmax[i],nz[i]))
	Vy.append(pysubs.Array3d(xmin[i],xmax[i],nx[i],ymin[i],ymax[i],ny[i],zmin[i],zmax[i],nz[i]))
	Vz.append(pysubs.Array3d(xmin[i],xmax[i],nx[i],ymin[i],ymax[i],ny[i],zmin[i],zmax[i],nz[i]))
	PixelVolume[i] = mass[i].dx * mass[i].dy * mass[i].dz # This is the pixel volume in Gadget coordinates

	[mass[i],Density[i],InternalEnergy[i],Vx[i],Vy[i],Vz[i]]  = pysubs.GridGadgetGasInit(snapfile,mass[i]) # This grids the Gadget SPH particles
	masssum = mass[i].data.sum() * GadgetMass / MSun # This is just for the users benefit
	print "Total Gas Mass for grid %d is %e MSun\n"%(i,masssum)
	Tmin = Tbg * 1000.0 # Temp of background gas in eV
	Umin = Tmin / BulletConstants.Tconv
	#print 'Max internal energy = %.2g, Min Internal Energy = %.2g, Umin = %.2g \n'%(InternalEnergy.data.max(),InternalEnergy.data.min(),Umin)
	Rhomin = 10**LogRhoMin