[yt-svn] commit/yt: ngoldbaum: Fixing a bug in the particle filter recipe.
commits-noreply at bitbucket.org
commits-noreply at bitbucket.org
Sat Aug 2 22:01:52 PDT 2014
1 new commit in yt:
https://bitbucket.org/yt_analysis/yt/commits/14d5e077b24f/
Changeset: 14d5e077b24f
Branch: yt-3.0
User: ngoldbaum
Date: 2014-08-03 07:01:17
Summary: Fixing a bug in the particle filter recipe.
Affected #: 1 file
diff -r 15f91fe5e0dd01ac4b3de01211e37e423bc0776e -r 14d5e077b24f1da72f3b99f4209488b82bb52f73 doc/source/cookbook/particle_filter.py
--- a/doc/source/cookbook/particle_filter.py
+++ b/doc/source/cookbook/particle_filter.py
@@ -2,24 +2,33 @@
import numpy as np
from yt.data_objects.particle_filters import add_particle_filter
+
# Define filter functions for our particle filters based on stellar age.
+# In this dataset particles in the initial conditions are given creation
+# times arbitrarily far into the future, so stars with negative ages belong
+# in the old stars filter.
def stars_10Myr(pfilter, data):
- filter = (data.pf.current_time - data["Stars", "creation_time"]).in_units('Myr') <= 10
+ age = data.ds.current_time - data["Stars", "creation_time"]
+ filter = np.logical_and(age >= 0, age.in_units('Myr') < 10)
return filter
def stars_100Myr(pfilter, data):
- filter = (((data.pf.current_time - data["Stars", "creation_time"]).in_units('Myr') <= 100) & \
- ((data.pf.current_time - data["Stars", "creation_time"]).in_units('Myr') >= 10))
+ age = (data.ds.current_time - data["Stars", "creation_time"]).in_units('Myr')
+ filter = np.logical_and(age >= 10, age < 100)
return filter
def stars_old(pfilter, data):
- filter = (data.pf.current_time - data["Stars", "creation_time"]).in_units('Myr') > 100
+ age = data.ds.current_time - data["Stars", "creation_time"]
+ filter = np.logical_or(age < 0, age.in_units('Myr') >= 100)
return filter
# Create the particle filters
-add_particle_filter("stars_young", function=stars_10Myr, filtered_type='Stars', requires=["creation_time"])
-add_particle_filter("stars_medium", function=stars_100Myr, filtered_type='Stars', requires=["creation_time"])
-add_particle_filter("stars_old", function=stars_old, filtered_type='Stars', requires=["creation_time"])
+add_particle_filter("stars_young", function=stars_10Myr, filtered_type='Stars',
+ requires=["creation_time"])
+add_particle_filter("stars_medium", function=stars_100Myr, filtered_type='Stars',
+ requires=["creation_time"])
+add_particle_filter("stars_old", function=stars_old, filtered_type='Stars',
+ requires=["creation_time"])
# Load a dataset and apply the particle filters
filename = "TipsyGalaxy/galaxy.00300"
@@ -39,5 +48,8 @@
print "Mass of old stars = %g Msun" % mass_old
# Generate 4 projections: gas density, young stars, medium stars, old stars
-prj = yt.ProjectionPlot(ds, 'z', [('gas', 'density'), ('deposit', 'stars_young_cic'), ('deposit', 'stars_medium_cic'), ('deposit', 'stars_old_cic')], center="max", width=(100, 'kpc'))
+fields = [('gas', 'density'), ('deposit', 'stars_young_cic'),
+ ('deposit', 'stars_medium_cic'), ('deposit', 'stars_old_cic')]
+
+prj = yt.ProjectionPlot(ds, 'z', fields, center="max", width=(100, 'kpc'))
prj.save()
Repository URL: https://bitbucket.org/yt_analysis/yt/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
More information about the yt-svn
mailing list