コード例 #1
0
	def load_total(self):
		for i, snum in enumerate(np.arange(self.snap_lims[0],self.snap_lims[1]+1)):
			sp = Snapshot(self.sdir, snum, cosmological=self.cosmological, periodic_bound_fix=self.pb_fix)
			self.time[i] = sp.time
			if self.cosmological: self.redshift[i] = sp.redshift
			if self.setHalo:
				gal = sp.loadhalo(**self.kwargs)
			if self.setDisk:
				gal = sp.loaddisk(**self.kwargs)
			gas = gal.loadpart(0)

			self.z[i] = np.nansum(gas.z[:,0]*gas.m)/np.nansum(gas.m)
			self.dz[i] = np.nansum(gas.dz[:,0]*gas.m)/np.nansum(gas.z[:,0]*gas.m)
			self.spec[i] = np.nansum(gas.spec*gas.m[:,np.newaxis], axis=0)/np.nansum(gas.dz[:,0]*gas.m)
			self.source[i] = np.nansum(gas.dzs*gas.dz[:,0]*gas.m[:,np.newaxis], axis=0)/np.nansum(gas.dz[:,0]*gas.m)

		return
コード例 #2
0
	def load_average(self):
		for i, snum in enumerate(np.arange(self.snap_lims[0],self.snap_lims[1]+1)):
			sp = Snapshot(self.sdir, snum, cosmological=self.cosmological, periodic_bound_fix=self.pb_fix)
			self.time[i] = sp.time
			if self.cosmological: self.redshift[i] = sp.redshift
			if self.setHalo:
				gal = sp.loadhalo(**self.kwargs)
			if self.setDisk:
				gal = sp.loaddisk(**self.kwargs)
			gas = gal.loadpart(0)

			self.z[i] = weighted_percentile(gas.z[:,0], percentiles=[50], weights=gas.m, ingore_invalid=True)
			self.dz[i] = weighted_percentile(gas.dz[:,0]/gas.z[:,0], percentiles=[50], weights=gas.m, ingore_invalid=True)
			for j in range(sp.Flag_DustSpecies):
				self.spec[i,j] = weighted_percentile(gas.spec[:,j]/gas.dz[:,0], percentiles=[50], weights=gas.m, ingore_invalid=True)
			for j in range(4):
				self.source[i,j] = weighted_percentile(gas.dzs[:,j], percentiles=[50], weights=gas.m, ingore_invalid=True)

		return