[yt-svn] commit/yt: 2 new changesets

Bitbucket commits-noreply at bitbucket.org
Tue Jan 22 13:01:21 PST 2013


2 new commits in yt:

https://bitbucket.org/yt_analysis/yt/commits/79f3ef830bc4/
changeset:   79f3ef830bc4
branch:      yt
user:        MatthewTurk
date:        2013-01-22 20:50:36
summary:     Adding ability to get particle fields from smoothed and unsmoothed covering grids.
affected #:  3 files

diff -r bd00437516fa35480aac4d39def68b2b5cadff38 -r 79f3ef830bc4a4504a0f6ff99d4debbe2d6fabbf yt/data_objects/data_containers.py
--- a/yt/data_objects/data_containers.py
+++ b/yt/data_objects/data_containers.py
@@ -3782,6 +3782,11 @@
                     continue
                 except NeedsOriginalGrid, ngt_exception:
                     pass
+            elif self.pf.field_info[field].particle_type:
+                region = self.pf.h.region(self.center,
+                            self.left_edge, self.right_edge)
+                self.field_data[field] = region[field]
+                continue
             obtain_fields.append(field)
             self[field] = np.zeros(self.ActiveDimensions, dtype='float64') -999
         if len(obtain_fields) == 0: return
@@ -3922,6 +3927,11 @@
                     continue
                 except NeedsOriginalGrid, ngt_exception:
                     pass
+            elif self.pf.field_info[field].particle_type:
+                region = self.pf.h.region(self.center,
+                            self.left_edge, self.right_edge)
+                self.field_data[field] = region[field]
+                continue
             fields_to_get.append(field)
         if len(fields_to_get) == 0: return
         # Note that, thanks to some trickery, we have different dimensions

diff -r bd00437516fa35480aac4d39def68b2b5cadff38 -r 79f3ef830bc4a4504a0f6ff99d4debbe2d6fabbf yt/data_objects/universal_fields.py
--- a/yt/data_objects/universal_fields.py
+++ b/yt/data_objects/universal_fields.py
@@ -973,12 +973,12 @@
     return data.convert("Density")
 def _pdensity(field, data):
     blank = np.zeros(data.ActiveDimensions, dtype='float32')
-    if data.NumberOfParticles == 0: return blank
+    if data["particle_position_x"].size == 0: return blank
     CICDeposit_3(data["particle_position_x"].astype(np.float64),
                  data["particle_position_y"].astype(np.float64),
                  data["particle_position_z"].astype(np.float64),
                  data["particle_mass"].astype(np.float32),
-                 np.int64(data.NumberOfParticles),
+                 data["particle_position_x"].size,
                  blank, np.array(data.LeftEdge).astype(np.float64),
                  np.array(data.ActiveDimensions).astype(np.int32),
                  np.float64(data['dx']))

diff -r bd00437516fa35480aac4d39def68b2b5cadff38 -r 79f3ef830bc4a4504a0f6ff99d4debbe2d6fabbf yt/frontends/enzo/fields.py
--- a/yt/frontends/enzo/fields.py
+++ b/yt/frontends/enzo/fields.py
@@ -346,7 +346,7 @@
 
 def _spdensity(field, data):
     blank = np.zeros(data.ActiveDimensions, dtype='float32')
-    if data.NumberOfParticles == 0: return blank
+    if data["particle_position_x"].size == 0: return blank
     filter = data['creation_time'] > 0.0
     if not filter.any(): return blank
     amr_utils.CICDeposit_3(data["particle_position_x"][filter].astype(np.float64),
@@ -363,18 +363,19 @@
 
 def _dmpdensity(field, data):
     blank = np.zeros(data.ActiveDimensions, dtype='float32')
-    if data.NumberOfParticles == 0: return blank
+    if data["particle_position_x"].size == 0: return blank
     if 'creation_time' in data.pf.field_info:
         filter = data['creation_time'] <= 0.0
         if not filter.any(): return blank
+        num = filter.sum()
     else:
-        filter = np.ones(data.NumberOfParticles, dtype='bool')
-    if not filter.any(): return blank
+        filter = None
+        num = data["particle_position_x"].size
     amr_utils.CICDeposit_3(data["particle_position_x"][filter].astype(np.float64),
                            data["particle_position_y"][filter].astype(np.float64),
                            data["particle_position_z"][filter].astype(np.float64),
                            data["particle_mass"][filter].astype(np.float32),
-                           np.int64(np.where(filter)[0].size),
+                           num,
                            blank, np.array(data.LeftEdge).astype(np.float64),
                            np.array(data.ActiveDimensions).astype(np.int32), 
                            np.float64(data['dx']))
@@ -389,13 +390,13 @@
     """
     particle_field = field.name[4:]
     top = np.zeros(data.ActiveDimensions, dtype='float32')
-    if data.NumberOfParticles == 0: return top
+    if data["particle_position_x"].size == 0: return top
     particle_field_data = data[particle_field] * data['particle_mass']
     amr_utils.CICDeposit_3(data["particle_position_x"].astype(np.float64),
                            data["particle_position_y"].astype(np.float64),
                            data["particle_position_z"].astype(np.float64),
                            particle_field_data.astype(np.float32),
-                           np.int64(data.NumberOfParticles),
+                           data["particle_position_x"].size,
                            top, np.array(data.LeftEdge).astype(np.float64),
                            np.array(data.ActiveDimensions).astype(np.int32), 
                            np.float64(data['dx']))
@@ -406,7 +407,7 @@
                            data["particle_position_y"].astype(np.float64),
                            data["particle_position_z"].astype(np.float64),
                            data["particle_mass"].astype(np.float32),
-                           np.int64(data.NumberOfParticles),
+                           data["particle_position_x"].size,
                            bottom, np.array(data.LeftEdge).astype(np.float64),
                            np.array(data.ActiveDimensions).astype(np.int32), 
                            np.float64(data['dx']))
@@ -428,7 +429,7 @@
     """
     particle_field = field.name[5:]
     top = np.zeros(data.ActiveDimensions, dtype='float32')
-    if data.NumberOfParticles == 0: return top
+    if data["particle_position_x"].size == 0: return top
     filter = data['creation_time'] > 0.0
     if not filter.any(): return top
     particle_field_data = data[particle_field][filter] * data['particle_mass'][filter]


https://bitbucket.org/yt_analysis/yt/commits/193cc2c5760c/
changeset:   193cc2c5760c
branch:      yt
user:        MatthewTurk
date:        2013-01-22 22:01:17
summary:     Merged in MatthewTurk/yt (pull request #407)

Adding ability to get particle fields from smoothed and unsmoothed covering grids.
affected #:  3 files

diff -r 66c533f558ee7f73bd95857c0eda337f04cce64c -r 193cc2c5760c02dabdc998d645c94e8bb082fb16 yt/data_objects/data_containers.py
--- a/yt/data_objects/data_containers.py
+++ b/yt/data_objects/data_containers.py
@@ -3782,6 +3782,11 @@
                     continue
                 except NeedsOriginalGrid, ngt_exception:
                     pass
+            elif self.pf.field_info[field].particle_type:
+                region = self.pf.h.region(self.center,
+                            self.left_edge, self.right_edge)
+                self.field_data[field] = region[field]
+                continue
             obtain_fields.append(field)
             self[field] = np.zeros(self.ActiveDimensions, dtype='float64') -999
         if len(obtain_fields) == 0: return
@@ -3922,6 +3927,11 @@
                     continue
                 except NeedsOriginalGrid, ngt_exception:
                     pass
+            elif self.pf.field_info[field].particle_type:
+                region = self.pf.h.region(self.center,
+                            self.left_edge, self.right_edge)
+                self.field_data[field] = region[field]
+                continue
             fields_to_get.append(field)
         if len(fields_to_get) == 0: return
         # Note that, thanks to some trickery, we have different dimensions

diff -r 66c533f558ee7f73bd95857c0eda337f04cce64c -r 193cc2c5760c02dabdc998d645c94e8bb082fb16 yt/data_objects/universal_fields.py
--- a/yt/data_objects/universal_fields.py
+++ b/yt/data_objects/universal_fields.py
@@ -973,12 +973,12 @@
     return data.convert("Density")
 def _pdensity(field, data):
     blank = np.zeros(data.ActiveDimensions, dtype='float32')
-    if data.NumberOfParticles == 0: return blank
+    if data["particle_position_x"].size == 0: return blank
     CICDeposit_3(data["particle_position_x"].astype(np.float64),
                  data["particle_position_y"].astype(np.float64),
                  data["particle_position_z"].astype(np.float64),
                  data["particle_mass"].astype(np.float32),
-                 np.int64(data.NumberOfParticles),
+                 data["particle_position_x"].size,
                  blank, np.array(data.LeftEdge).astype(np.float64),
                  np.array(data.ActiveDimensions).astype(np.int32),
                  np.float64(data['dx']))

diff -r 66c533f558ee7f73bd95857c0eda337f04cce64c -r 193cc2c5760c02dabdc998d645c94e8bb082fb16 yt/frontends/enzo/fields.py
--- a/yt/frontends/enzo/fields.py
+++ b/yt/frontends/enzo/fields.py
@@ -346,7 +346,7 @@
 
 def _spdensity(field, data):
     blank = np.zeros(data.ActiveDimensions, dtype='float32')
-    if data.NumberOfParticles == 0: return blank
+    if data["particle_position_x"].size == 0: return blank
     filter = data['creation_time'] > 0.0
     if not filter.any(): return blank
     amr_utils.CICDeposit_3(data["particle_position_x"][filter].astype(np.float64),
@@ -363,18 +363,19 @@
 
 def _dmpdensity(field, data):
     blank = np.zeros(data.ActiveDimensions, dtype='float32')
-    if data.NumberOfParticles == 0: return blank
+    if data["particle_position_x"].size == 0: return blank
     if 'creation_time' in data.pf.field_info:
         filter = data['creation_time'] <= 0.0
         if not filter.any(): return blank
+        num = filter.sum()
     else:
-        filter = np.ones(data.NumberOfParticles, dtype='bool')
-    if not filter.any(): return blank
+        filter = None
+        num = data["particle_position_x"].size
     amr_utils.CICDeposit_3(data["particle_position_x"][filter].astype(np.float64),
                            data["particle_position_y"][filter].astype(np.float64),
                            data["particle_position_z"][filter].astype(np.float64),
                            data["particle_mass"][filter].astype(np.float32),
-                           np.int64(np.where(filter)[0].size),
+                           num,
                            blank, np.array(data.LeftEdge).astype(np.float64),
                            np.array(data.ActiveDimensions).astype(np.int32), 
                            np.float64(data['dx']))
@@ -389,13 +390,13 @@
     """
     particle_field = field.name[4:]
     top = np.zeros(data.ActiveDimensions, dtype='float32')
-    if data.NumberOfParticles == 0: return top
+    if data["particle_position_x"].size == 0: return top
     particle_field_data = data[particle_field] * data['particle_mass']
     amr_utils.CICDeposit_3(data["particle_position_x"].astype(np.float64),
                            data["particle_position_y"].astype(np.float64),
                            data["particle_position_z"].astype(np.float64),
                            particle_field_data.astype(np.float32),
-                           np.int64(data.NumberOfParticles),
+                           data["particle_position_x"].size,
                            top, np.array(data.LeftEdge).astype(np.float64),
                            np.array(data.ActiveDimensions).astype(np.int32), 
                            np.float64(data['dx']))
@@ -406,7 +407,7 @@
                            data["particle_position_y"].astype(np.float64),
                            data["particle_position_z"].astype(np.float64),
                            data["particle_mass"].astype(np.float32),
-                           np.int64(data.NumberOfParticles),
+                           data["particle_position_x"].size,
                            bottom, np.array(data.LeftEdge).astype(np.float64),
                            np.array(data.ActiveDimensions).astype(np.int32), 
                            np.float64(data['dx']))
@@ -428,7 +429,7 @@
     """
     particle_field = field.name[5:]
     top = np.zeros(data.ActiveDimensions, dtype='float32')
-    if data.NumberOfParticles == 0: return top
+    if data["particle_position_x"].size == 0: return top
     filter = data['creation_time'] > 0.0
     if not filter.any(): return top
     particle_field_data = data[particle_field][filter] * data['particle_mass'][filter]

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