[Yt-svn] yt-commit r692 - branches/yt-generalization/yt/lagos

joishi at wrangler.dreamhost.com joishi at wrangler.dreamhost.com
Mon Jul 21 16:36:06 PDT 2008


Author: joishi
Date: Mon Jul 21 16:36:06 2008
New Revision: 692
URL: http://yt.spacepope.org/changeset/692

Log:
* more cleanup from the merge
* PointCombine.c -- generalized periodic BCs for non [0,1] domains.


Modified:
   branches/yt-generalization/yt/lagos/BaseDataTypes.py
   branches/yt-generalization/yt/lagos/HierarchyType.py
   branches/yt-generalization/yt/lagos/PointCombine.c

Modified: branches/yt-generalization/yt/lagos/BaseDataTypes.py
==============================================================================
--- branches/yt-generalization/yt/lagos/BaseDataTypes.py	(original)
+++ branches/yt-generalization/yt/lagos/BaseDataTypes.py	Mon Jul 21 16:36:06 2008
@@ -1471,6 +1471,7 @@
            na.any(self.right_edge > self.pf["DomainRightEdge"]):
             grids,ind = self.pf.hierarchy.get_periodic_box_grids(
                             self.left_edge, self.right_edge)
+            ind = slice(None)
         else:
             grids,ind = self.pf.hierarchy.get_box_grids(
                             self.left_edge, self.right_edge)
@@ -1510,7 +1511,7 @@
             if na.any(self[field] == -999):# and self.dx < self.hierarchy.grids[0].dx:
                 print "COVERING PROBLEM", na.where(self[field]==-999)[0].size
                 print na.where(self[field]==-999)
-                return
+#                return
                 raise KeyError
 
     def flush_data(self, field=None):

Modified: branches/yt-generalization/yt/lagos/HierarchyType.py
==============================================================================
--- branches/yt-generalization/yt/lagos/HierarchyType.py	(original)
+++ branches/yt-generalization/yt/lagos/HierarchyType.py	Mon Jul 21 16:36:06 2008
@@ -94,29 +94,6 @@
             return
         self.cpu_map[grid.filename].append(grid)
 
-    def __setup_classes(self):
-        dd = { 'readDataFast' : _data_style_funcs[self.data_style][0],
-               'readAllData' : _data_style_funcs[self.data_style][1],
-               'getFields' : _data_style_funcs[self.data_style][2],
-               'readDataSlice' : _data_style_funcs[self.data_style][3],
-               '_read_data' : _data_style_funcs[self.data_style][0],
-               '_read_all_data' : _data_style_funcs[self.data_style][1],
-               '_read_field_names' : _data_style_funcs[self.data_style][2],
-               '_read_data_slice' : _data_style_funcs[self.data_style][3],
-               '_read_exception' : _data_style_funcs[self.data_style][4](),
-               'pf' : self.parameter_file, # Already weak
-               'hierarchy': weakref.proxy(self) }
-        self.grid = classobj("EnzoGrid",(EnzoGridBase,), dd)
-        self.proj = classobj("EnzoProj",(EnzoProjBase,), dd)
-        self.slice = classobj("EnzoSlice",(EnzoSliceBase,), dd)
-        self.region = classobj("EnzoRegion",(EnzoRegionBase,), dd)
-        self.covering_grid = classobj("EnzoCoveringGrid",(EnzoCoveringGrid,), dd)
-        self.smoothed_covering_grid = classobj("EnzoSmoothedCoveringGrid",(EnzoSmoothedCoveringGrid,), dd)
-        self.sphere = classobj("EnzoSphere",(EnzoSphereBase,), dd)
-        self.cutting = classobj("EnzoCuttingPlane",(EnzoCuttingPlaneBase,), dd)
-        self.ray = classobj("EnzoOrthoRay",(EnzoOrthoRayBase,), dd)
-        self.disk = classobj("EnzoCylinder",(EnzoCylinderBase,), dd)
-
     def _initialize_data_file(self):
         if not ytcfg.getboolean('lagos','serialize'): return
         fn = os.path.join(self.directory,"%s.yt" % self["CurrentTimeIdentifier"])
@@ -416,24 +393,6 @@
                     mask[gi] = True
         return self.grids[mask], na.where(mask)
 
-    def get_periodic_box_grids(self, left_edge, right_edge):
-        mask = na.zeros(self.grids.shape, dtype='bool')
-        dl = self.parameters["DomainLeftEdge"]
-        dr = self.parameters["DomainRightEdge"]
-        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]
-            for off_y in [-1, 0, 1]:
-                nle[1] = dl[1] + (dr[1]-dl[1])*off_y + left_edge[1]
-                for off_z in [-1, 0, 1]:
-                    nle[2] = dl[2] + (dr[2]-dl[2])*off_z + left_edge[2]
-                    nre = nle + db
-                    g, gi = self.get_box_grids(nle, nre)
-                    mask[gi] = True
-        return self.grids[mask], na.where(mask)
-
     @time_execution
     def find_max(self, field, finestLevels = True):
         """
@@ -524,6 +483,12 @@
                      self.gridLeftEdge[i,1], self.gridRightEdge[i,1],
                      self.gridLeftEdge[i,2], self.gridRightEdge[i,2]))
 
+    def _select_level(self, level):
+        # We return a numarray of the indices of all the grids on a given level
+        indices = na.where(self.gridLevels[:,0] == level)[0]
+        return indices
+
+
 class EnzoHierarchy(AMRHierarchy):
     eiTopGrid = None
     _strip_path = False
@@ -863,12 +828,6 @@
             if field not in self.derived_field_list:
                 self.derived_field_list.append(field)
 
-    def _select_level(self, level):
-        # We return a numarray of the indices of all the grids on a given level
-        indices = na.where(self.gridLevels[:,0] == level)[0]
-        return indices
-
-
 scanf_regex = {}
 scanf_regex['e'] = r"[-+]?\d+\.?\d*?|\.\d+[eE][-+]?\d+?"
 scanf_regex['g'] = scanf_regex['e']

Modified: branches/yt-generalization/yt/lagos/PointCombine.c
==============================================================================
--- branches/yt-generalization/yt/lagos/PointCombine.c	(original)
+++ branches/yt-generalization/yt/lagos/PointCombine.c	Mon Jul 21 16:36:06 2008
@@ -720,22 +720,21 @@
     for(i=0;i<3;i++) {
             itc = 1;
             if (ac_le[i] < adl_edge[i]) {
-                ac_le_p[i][itc  ] = adr_edge[i] + ac_le[i];
-                ac_re_p[i][itc++] = adr_edge[i] + ac_re[i];
-                //fprintf(stderr, "le axis: %d (%d) le: %0.5f re: %0.5f\n", 
-                //        i, itc-1, ac_le_p[i][itc-1], ac_re_p[i][itc-1]);
+                ac_le_p[i][itc  ] = adr_edge[i] - (adl_edge[i] - ac_le[i]);
+                ac_re_p[i][itc++] = adr_edge[i] + (ac_re[i] - adl_edge[i]);
+/*                 fprintf(stderr, "le axis: %d (%d) le: %0.5e re: %0.5e\n",  */
+/*                        i, itc-1, ac_le_p[i][itc-1], ac_re_p[i][itc-1]); */
             }
             if (ac_re[i] > adr_edge[i]) {
-                ac_le_p[i][itc  ] = adl_edge[i] - (adr_edge[i]-adl_edge[i])
-                                  + ac_le[i];
-                ac_re_p[i][itc++] = adl_edge[i] - (adr_edge[i]-adl_edge[i])
-                                  + ac_re[i];
-                //fprintf(stderr, "re axis: %d (%d) le: %0.5f re: %0.5f\n", 
-                //        i, itc-1, ac_le_p[i][itc-1], ac_re_p[i][itc-1]);
+                ac_le_p[i][itc  ] = ac_le[i] - (adr_edge[i] - adl_edge[i]);
+                ac_re_p[i][itc++] = adl_edge[i] + (ac_re[i] - adr_edge[i]);
+
+/*                 fprintf(stderr, "re axis: %d (%d) le: %0.5e re: %0.5e\n",  */
+/*                        i, itc-1, ac_le_p[i][itc-1], ac_re_p[i][itc-1]); */
             }
             p_niter[i] = itc;
-            //fprintf(stderr, "Iterating on %d %d (%d) times\n",
-            //        i, itc, p_niter[i]);
+/*             fprintf(stderr, "Iterating on %d %d (%d) times\n", */
+/*                    i, itc, p_niter[i]); */
     }
 
     for (xg = 0; xg < g_data[0]->dimensions[0]; xg++) {



More information about the yt-svn mailing list