[Yt-svn] yt-commit r1534 - trunk/yt/lagos

mturk at wrangler.dreamhost.com mturk at wrangler.dreamhost.com
Fri Nov 20 20:37:26 PST 2009


Author: mturk
Date: Fri Nov 20 20:37:25 2009
New Revision: 1534
URL: http://yt.enzotools.org/changeset/1534

Log:
Updating for 1- and 2-D data



Modified:
   trunk/yt/lagos/BaseGridType.py
   trunk/yt/lagos/HierarchyType.py
   trunk/yt/lagos/UniversalFields.py

Modified: trunk/yt/lagos/BaseGridType.py
==============================================================================
--- trunk/yt/lagos/BaseGridType.py	(original)
+++ trunk/yt/lagos/BaseGridType.py	Fri Nov 20 20:37:25 2009
@@ -188,6 +188,8 @@
             LE, RE = self.hierarchy.grid_left_edge[id,:], \
                      self.hierarchy.grid_right_edge[id,:]
             self.dds = na.array((RE-LE)/self.ActiveDimensions)
+        if self.pf["TopGridRank"] < 2: self.dds[1] = 1.0
+        if self.pf["TopGridRank"] < 3: self.dds[2] = 1.0
         self.data['dx'], self.data['dy'], self.data['dz'] = self.dds
 
     @property
@@ -355,6 +357,7 @@
         startIndex = na.maximum(0, cgi/rf - gi)
         endIndex = na.minimum( (cgi+child.ActiveDimensions)/rf - gi,
                               self.ActiveDimensions)
+        endIndex += (startIndex == endIndex)
         mask[startIndex[0]:endIndex[0],
              startIndex[1]:endIndex[1],
              startIndex[2]:endIndex[2]] = tofill

Modified: trunk/yt/lagos/HierarchyType.py
==============================================================================
--- trunk/yt/lagos/HierarchyType.py	(original)
+++ trunk/yt/lagos/HierarchyType.py	Fri Nov 20 20:37:25 2009
@@ -369,7 +369,6 @@
         self.object_types.sort()
 
     def _count_grids(self):
-        if self.num_grids is not None: return
         test_grid = test_grid_id = None
         self.num_stars = 0
         for line in rlines(open(self.hierarchy_filename, "rb")):
@@ -451,16 +450,19 @@
                     continue
                 params = line.split()
                 line = f.readline()
+        self._fill_arrays(ei, si, LE, RE, np)
+        self.grids = na.array(self.grids, dtype='object')
+        self.filenames = fn
+        self._store_binary_hierarchy()
+        t2 = time.time()
+
+    def _fill_arrays(self, ei, si, LE, RE, np):
         self.grid_dimensions.flat[:] = ei
         self.grid_dimensions -= na.array(si, self.float_type)
         self.grid_dimensions += 1
         self.grid_left_edge.flat[:] = LE
         self.grid_right_edge.flat[:] = RE
         self.grid_particle_count.flat[:] = np
-        self.grids = na.array(self.grids, dtype='object')
-        self.filenames = fn
-        self._store_binary_hierarchy()
-        t2 = time.time()
 
     def __pointer_handler(self, m):
         sgi = int(m[2])-1
@@ -752,27 +754,30 @@
         pass
 
 class EnzoHierarchy1D(EnzoHierarchy):
-    def __init__(self, *args, **kwargs):
-        EnzoHierarchy.__init__(self, *args, **kwargs)
-        self.gridLeftEdge[:,1:3] = 0.0
-        self.gridRightEdge[:,1:3] = 1.0
-        self.gridDimensions[:,1:3] = 1.0
-        self.gridDys[:,0] = 1.0
-        self.gridDzs[:,0] = 1.0
-        for g in self.grids:
-            g._prepare_grid()
-            g._setup_dx()
+
+    def _fill_arrays(self, ei, si, LE, RE, np):
+        self.grid_dimensions[:,:1] = ei
+        self.grid_dimensions[:,:1] -= na.array(si, self.float_type)
+        self.grid_dimensions += 1
+        self.grid_left_edge[:,:2] = LE
+        self.grid_right_edge[:,:2] = RE
+        self.grid_particle_count.flat[:] = np
+        self.grid_left_edge[:,1:2] = 0.0
+        self.grid_right_edge[:,1:2] = 1.0
+        self.grid_dimensions[:,1:2] = 1
 
 class EnzoHierarchy2D(EnzoHierarchy):
-    def __init__(self, *args, **kwargs):
-        EnzoHierarchy.__init__(self, *args, **kwargs)
-        self.gridLeftEdge[:,2] = 0.0
-        self.gridRightEdge[:,2] = 1.0
-        self.gridDimensions[:,2] = 1.0
-        self.gridDzs[:,0] = 1.0
-        for g in self.grids:
-            g._prepare_grid()
-            g._setup_dx()
+
+    def _fill_arrays(self, ei, si, LE, RE, np):
+        self.grid_dimensions[:,:2] = ei
+        self.grid_dimensions[:,:2] -= na.array(si, self.float_type)
+        self.grid_dimensions += 1
+        self.grid_left_edge[:,:2] = LE
+        self.grid_right_edge[:,:2] = RE
+        self.grid_particle_count.flat[:] = np
+        self.grid_left_edge[:,2] = 0.0
+        self.grid_right_edge[:,2] = 1.0
+        self.grid_dimensions[:,2] = 1
 
 scanf_regex = {}
 scanf_regex['e'] = r"[-+]?\d+\.?\d*?|\.\d+[eE][-+]?\d+?"

Modified: trunk/yt/lagos/UniversalFields.py
==============================================================================
--- trunk/yt/lagos/UniversalFields.py	(original)
+++ trunk/yt/lagos/UniversalFields.py	Fri Nov 20 20:37:25 2009
@@ -95,7 +95,7 @@
           validators=[ValidateSpatial(0)])
 
 def _GridLevel(field, data):
-    return na.ones(data["Density"].shape)*(data.Level)
+    return na.ones(data.ActiveDimensions)*(data.Level)
 add_field("GridLevel", function=_GridLevel,
           validators=[ValidateGridType(),
                       ValidateSpatial(0)])



More information about the yt-svn mailing list