[Yt-svn] commit/yt: MatthewTurk: The new get_periodic_box_grids and get_periodic_box_grids_below_level

Bitbucket commits-noreply at bitbucket.org
Wed Nov 9 11:33:13 PST 2011


1 new commit in yt:


https://bitbucket.org/yt_analysis/yt/changeset/60853ddd60ac/
changeset:   60853ddd60ac
branch:      yt
user:        MatthewTurk
date:        2011-11-09 20:32:51
summary:     The new get_periodic_box_grids and get_periodic_box_grids_below_level
incorrectly moved the domain around to identify neighboring grids.  This showed
up while testing the GDF, which had a domain that was left'edged < 0.0.  This
should fix that behavior.  Domains that did not extend to < 0.0 should not have
been affected.
affected #:  1 file

diff -r 1996bb83bd9c72a7d178462bfe61fa9b0f341941 -r 60853ddd60ac7453167108c5e4ecf390b61d6e5e yt/data_objects/object_finding_mixin.py
--- a/yt/data_objects/object_finding_mixin.py
+++ b/yt/data_objects/object_finding_mixin.py
@@ -185,20 +185,21 @@
         return self.grids[grid_i], grid_i
 
     def get_periodic_box_grids(self, left_edge, right_edge):
-        left_edge = na.array(left_edge)
-        right_edge = na.array(right_edge)
         mask = na.zeros(self.grids.shape, dtype='bool')
         dl = self.parameter_file.domain_left_edge
         dr = self.parameter_file.domain_right_edge
+        left_edge = na.array(left_edge)
+        right_edge = na.array(right_edge)
+        dw = dr - dl
+        left_dist = left_edge - dl
         db = right_edge - left_edge
         for off_x in [-1, 0, 1]:
             nle = left_edge.copy()
-            nre = left_edge.copy()
-            nle[0] = dl[0] + (dr[0]-dl[0])*off_x + left_edge[0]
+            nle[0] = (dw[0]*off_x + dl[0]) + left_dist[0]
             for off_y in [-1, 0, 1]:
-                nle[1] = dl[1] + (dr[1]-dl[1])*off_y + left_edge[1]
+                nle[1] = (dw[1]*off_y + dl[1]) + left_dist[1]
                 for off_z in [-1, 0, 1]:
-                    nle[2] = dl[2] + (dr[2]-dl[2])*off_z + left_edge[2]
+                    nle[2] = (dw[2]*off_z + dl[2]) + left_dist[2]
                     nre = nle + db
                     g, gi = self.get_box_grids(nle, nre)
                     mask[gi] = True
@@ -215,20 +216,21 @@
         return self.grids[mask], na.where(mask)
 
     def get_periodic_box_grids_below_level(self, left_edge, right_edge, level):
-        left_edge = na.array(left_edge)
-        right_edge = na.array(right_edge)
         mask = na.zeros(self.grids.shape, dtype='bool')
         dl = self.parameter_file.domain_left_edge
         dr = self.parameter_file.domain_right_edge
+        left_edge = na.array(left_edge)
+        right_edge = na.array(right_edge)
+        dw = dr - dl
+        left_dist = left_edge - dl
         db = right_edge - left_edge
         for off_x in [-1, 0, 1]:
             nle = left_edge.copy()
-            nre = left_edge.copy()
-            nle[0] = dl[0] + (dr[0]-dl[0])*off_x + left_edge[0]
+            nle[0] = (dw[0]*off_x + dl[0]) + left_dist[0]
             for off_y in [-1, 0, 1]:
-                nle[1] = dl[1] + (dr[1]-dl[1])*off_y + left_edge[1]
+                nle[1] = (dw[1]*off_y + dl[1]) + left_dist[1]
                 for off_z in [-1, 0, 1]:
-                    nle[2] = dl[2] + (dr[2]-dl[2])*off_z + left_edge[2]
+                    nle[2] = (dw[2]*off_z + dl[2]) + left_dist[2]
                     nre = nle + db
                     g, gi = self.get_box_grids_below_level(nle, nre, level)
                     mask[gi] = True

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