[Yt-svn] yt-commit r869 - trunk/yt/lagos
britton at wrangler.dreamhost.com
britton at wrangler.dreamhost.com
Mon Nov 3 19:21:17 PST 2008
Author: britton
Date: Mon Nov 3 19:21:17 2008
New Revision: 869
URL: http://yt.spacepope.org/changeset/869
Log:
Fixed routines for region and periodic_region objects that determine which
grid cells are inside region so that they take into account cells whose
centers are not in the region but part of those cells actually are.
3 November, 2008
Britton Smith
Modified:
trunk/yt/lagos/BaseDataTypes.py
Modified: trunk/yt/lagos/BaseDataTypes.py
==============================================================================
--- trunk/yt/lagos/BaseDataTypes.py (original)
+++ trunk/yt/lagos/BaseDataTypes.py Mon Nov 3 19:21:17 2008
@@ -539,7 +539,7 @@
_okay_to_serialize = True
def _should_i_write(self): return True
- def _serialize(self, node_name = None, force = False):
+ def _serialize(self, node_name = None, force = True):
if not self._should_i_write(): return
mylog.info("Serializing data...")
if node_name is None: node_name = self._gen_node_name()
@@ -1476,12 +1476,12 @@
if self._is_fully_enclosed(grid):
return True
else:
- cm = ( (grid['x'] < self.right_edge[0])
- & (grid['x'] >= self.left_edge[0])
- & (grid['y'] < self.right_edge[1])
- & (grid['y'] >= self.left_edge[1])
- & (grid['z'] < self.right_edge[2])
- & (grid['z'] >= self.left_edge[2]) )
+ cm = ( (grid['x'] - 0.5*grid['dx'] < self.right_edge[0])
+ & (grid['x'] + 0.5*grid['dx'] >= self.left_edge[0])
+ & (grid['y'] - 0.5*grid['dy'] < self.right_edge[1])
+ & (grid['y'] + 0.5*grid['dy'] >= self.left_edge[1])
+ & (grid['z'] - 0.5*grid['dz'] < self.right_edge[2])
+ & (grid['z'] + 0.5*grid['dz'] >= self.left_edge[2]) )
return cm
class EnzoPeriodicRegionBase(Enzo3DData):
@@ -1528,12 +1528,12 @@
else:
cm = na.zeros(grid.ActiveDimensions,dtype='bool')
for off_x, off_y, off_z in self.offsets:
- cm = cm | ( (grid['x'] + off_x < self.right_edge[0])
- & (grid['x'] + off_x >= self.left_edge[0])
- & (grid['y'] + off_y < self.right_edge[1])
- & (grid['y'] + off_y >= self.left_edge[1])
- & (grid['z'] + off_z < self.right_edge[2])
- & (grid['z'] + off_z >= self.left_edge[2]) )
+ cm = cm | ( (grid['x'] - grid['dx'] + off_x < self.right_edge[0])
+ & (grid['x'] + grid['dx'] + off_x >= self.left_edge[0])
+ & (grid['y'] - grid['dy'] + off_y < self.right_edge[1])
+ & (grid['y'] + grid['dy'] + off_y >= self.left_edge[1])
+ & (grid['z'] - grid['dz'] + off_z < self.right_edge[2])
+ & (grid['z'] + grid['dz'] + off_z >= self.left_edge[2]) )
return cm
class EnzoGridCollection(Enzo3DData):
More information about the yt-svn
mailing list