[Yt-svn] yt: 2 new changesets
hg at spacepope.org
hg at spacepope.org
Thu Nov 18 21:33:31 PST 2010
hg Repository: yt
details: yt/rev/65afd71f6370
changeset: 3539:65afd71f6370
user: Matthew Turk <matthewturk at gmail.com>
date:
Fri Nov 19 00:27:20 2010 -0500
description:
Fixing particle_density for covering grids
hg Repository: yt
details: yt/rev/29b42153c46a
changeset: 3540:29b42153c46a
user: Matthew Turk <matthewturk at gmail.com>
date:
Fri Nov 19 00:33:26 2010 -0500
description:
Merge
diffstat:
yt/analysis_modules/halo_profiler/multi_halo_profiler.py | 21 +++++++---
yt/data_objects/universal_fields.py | 2 +-
yt/frontends/enzo/fields.py | 30 ++++++++--------
3 files changed, 30 insertions(+), 23 deletions(-)
diffs (132 lines):
diff -r 1b7a519066fb -r 29b42153c46a yt/analysis_modules/halo_profiler/multi_halo_profiler.py
--- a/yt/analysis_modules/halo_profiler/multi_halo_profiler.py Tue Nov 16 13:45:54 2010 -0700
+++ b/yt/analysis_modules/halo_profiler/multi_halo_profiler.py Fri Nov 19 00:33:26 2010 -0500
@@ -277,10 +277,12 @@
if 'TotalMassMsun' in all_vqFilters:
mass_filter = vFilter['kwargs']['virial_filters'][all_vqFilters.index('TotalMassMsun')]
if '>' in mass_filter[1]:
- virial_prefilter = "halo['mass'] %s %f * %s" % (mass_filter[1], virial_prefilter_safety_factor, mass_filter[2])
+ virial_prefilter = "halo['mass'] %s %f * %s" % \
+ (mass_filter[1], virial_prefilter_safety_factor, mass_filter[2])
prefilters.append(virial_prefilter)
elif '<' in mass_filter[1]:
- virial_prefilter = "halo['mass'] %s %f * %s" % (mass_filter[1], (1./virial_prefilter_safety_factor), mass_filter[2])
+ virial_prefilter = "halo['mass'] %s %f * %s" % \
+ (mass_filter[1], (1./virial_prefilter_safety_factor), mass_filter[2])
prefilters.append(virial_prefilter)
# Add profile fields necessary for calculating virial quantities.
@@ -312,7 +314,8 @@
# Apply filter and keep track of the quantities that are returned.
for hFilter in self._halo_filters:
- filter_result, filterQuantities = hFilter['function'](profiledHalo, *hFilter['args'], **hFilter['kwargs'])
+ filter_result, filterQuantities = hFilter['function'](profiledHalo, *hFilter['args'],
+ **hFilter['kwargs'])
if not filter_result: break
@@ -387,7 +390,8 @@
else:
mylog.error("Invalid parameter: VelocityCenter.")
elif self.velocity_center[0] == 'max':
- max_grid, max_cell, max_value, max_location = self.pf.h.find_max_cell_location(self.velocity_center[1])
+ max_grid, max_cell, max_value, max_location = \
+ self.pf.h.find_max_cell_location(self.velocity_center[1])
sphere.set_field_parameter('bulk_velocity', [max_grid['x-velocity'][max_cell],
max_grid['y-velocity'][max_cell],
max_grid['z-velocity'][max_cell]])
@@ -521,7 +525,8 @@
output = h5py.File(dataFilename, "a")
# Create fixed resolution buffer for each projection and write them out.
for e, hp in enumerate(self.projection_fields):
- frb = FixedResolutionBuffer(pc.plots[e].data, (proj_left[0], proj_right[0], proj_left[1], proj_right[1]),
+ frb = FixedResolutionBuffer(pc.plots[e].data, (proj_left[0], proj_right[0],
+ proj_left[1], proj_right[1]),
(projectionResolution, projectionResolution),
antialias=False)
dataset_name = "%s_%s" % (hp['field'], hp['weight_field'])
@@ -761,7 +766,8 @@
This is necessary when projecting a preiodic region.
"""
offset = [newCenter[q]-oldCenter[q] for q in range(len(oldCenter))]
- width = [pf.parameters['DomainRightEdge'][q]-pf.parameters['DomainLeftEdge'][q] for q in range(len(oldCenter))]
+ width = [pf.parameters['DomainRightEdge'][q]-pf.parameters['DomainLeftEdge'][q] \
+ for q in range(len(oldCenter))]
del offset[axis]
del width[axis]
@@ -830,7 +836,8 @@
plot.data['pdy'] = na.concatenate([plot['pdy'], add_x_pdy, add_y_pdy, add2_x_pdy, add2_y_pdy])
plot.data[field] = na.concatenate([plot[field], add_x_field, add_y_field, add2_x_field, add2_y_field])
plot.data['weight_field'] = na.concatenate([plot['weight_field'],
- add_x_weight_field, add_y_weight_field, add2_x_weight_field, add2_y_weight_field])
+ add_x_weight_field, add_y_weight_field,
+ add2_x_weight_field, add2_y_weight_field])
# Delete original copies of hanging cells.
del add_x_px, add_y_px, add2_x_px, add2_y_px
diff -r 1b7a519066fb -r 29b42153c46a yt/data_objects/universal_fields.py
--- a/yt/data_objects/universal_fields.py Tue Nov 16 13:45:54 2010 -0700
+++ b/yt/data_objects/universal_fields.py Fri Nov 19 00:33:26 2010 -0500
@@ -804,7 +804,7 @@
na.float64(data['dx']))
return blank
add_field("particle_density", function=_pdensity,
- validators=[ValidateSpatial(0)], convert_function=_convertDensity,
+ validators=[ValidateGridType()], convert_function=_convertDensity,
display_name=r"\mathrm{Particle}\/\mathrm{Density})")
def _MagneticEnergy(field,data):
diff -r 1b7a519066fb -r 29b42153c46a yt/frontends/enzo/fields.py
--- a/yt/frontends/enzo/fields.py Tue Nov 16 13:45:54 2010 -0700
+++ b/yt/frontends/enzo/fields.py Fri Nov 19 00:33:26 2010 -0500
@@ -199,11 +199,26 @@
return data["Density"]/ef
add_field("ComovingDensity", function=_ComovingDensity, units=r"\rm{g}/\rm{cm}^3")
+# This is rho_total / rho_cr(z).
def Overdensity(field,data):
return (data['Density'] + data['Dark_Matter_Density']) / \
(rho_crit_now * (data.pf.hubble_constant**2) * ((1+data.pf.current_redshift)**3))
add_field("Overdensity",function=Overdensity,units=r"")
+# This is rho_b / <rho_b>.
+def _Baryon_Overdensity(field, data):
+ return data['Density']
+def _Convert_Baryon_Overdensity(data):
+ if data.pf.parameters.has_key('omega_baryon_now'):
+ omega_baryon_now = data.pf.parameters['omega_baryon_now']
+ else:
+ omega_baryon_now = 0.0441
+ return 1 / (omega_baryon_now * rho_crit_now *
+ (data.pf['CosmologyHubbleConstantNow']**2) *
+ ((1+data.pf['CosmologyCurrentRedshift'])**3))
+add_field("Baryon_Overdensity", function=_Baryon_Overdensity,
+ convert_function=_Convert_Baryon_Overdensity, units=r"")
+
# Now we add all the fields that we want to control, but we give a null function
# This is every Enzo field we can think of. This will be installation-dependent,
@@ -253,21 +268,6 @@
f._convert_function = _convertVelocity
f.take_log = False
-def _pdensity(field, data):
- blank = na.zeros(data.ActiveDimensions, dtype='float32')
- if data.NumberOfParticles == 0: return blank
- amr_utils.CICDeposit_3(data["particle_position_x"].astype(na.float64),
- data["particle_position_y"].astype(na.float64),
- data["particle_position_z"].astype(na.float64),
- data["particle_mass"].astype(na.float32),
- data["particle_mass"].size,
- blank, na.array(data.LeftEdge).astype(na.float64),
- na.array(data.ActiveDimensions).astype(na.int32),
- na.float64(data['dx']))
- return blank
-add_field("particle_density", function=_pdensity,
- validators=[ValidateSpatial(0)], convert_function=_convertDensity)
-
def _spdensity(field, data):
blank = na.zeros(data.ActiveDimensions, dtype='float32')
if data.NumberOfParticles == 0: return blank
More information about the yt-svn
mailing list