[Yt-svn] yt-commit r1245 - in trunk/yt: extensions lagos raven

mturk at wrangler.dreamhost.com mturk at wrangler.dreamhost.com
Tue Mar 31 13:51:39 PDT 2009


Author: mturk
Date: Tue Mar 31 13:51:37 2009
New Revision: 1245
URL: http://yt.spacepope.org/changeset/1245

Log:
Added options for turning on and off both smoothing and caching of data in the
VTK interface.  Smoothing adds a lot of time to data loading; for small
datasets, you should probably smooth, but for big ones it adds just enough time
to be awkward and a pain.  Turning it off sped things up considerably for my
data, and furthermore -- it didn't make it look that much worse.  Caching is
a bigger deal if you're doing smoothed data sets, and it can speed things up
considerably as well.



Modified:
   trunk/yt/extensions/HierarchySubset.py
   trunk/yt/lagos/BaseGridType.py
   trunk/yt/raven/VTKInterface.py

Modified: trunk/yt/extensions/HierarchySubset.py
==============================================================================
--- trunk/yt/extensions/HierarchySubset.py	(original)
+++ trunk/yt/extensions/HierarchySubset.py	Tue Mar 31 13:51:37 2009
@@ -69,7 +69,8 @@
     def get_global_startindex(self):
         return self.index
 
-    def get_vertex_centered_data(self, field):
+    def get_vertex_centered_data(self, field, smoothed=True):
+        # We discard the 'smoothed' keyword argument here
         cg = self.pf.h.smoothed_covering_grid(self.Level,
                     self.LeftEdge - self.dds,
                     self.RightEdge + self.dds,

Modified: trunk/yt/lagos/BaseGridType.py
==============================================================================
--- trunk/yt/lagos/BaseGridType.py	(original)
+++ trunk/yt/lagos/BaseGridType.py	Tue Mar 31 13:51:37 2009
@@ -362,8 +362,8 @@
             cube = self.hierarchy.covering_grid(*args, **kwargs)
         return cube
 
-    def get_vertex_centered_data(self, field):
-        cg = self.retrieve_ghost_zones(1, field, smoothed=True)
+    def get_vertex_centered_data(self, field, smoothed=True):
+        cg = self.retrieve_ghost_zones(1, field, smoothed=smoothed)
         # Bounds should be cell-centered
         bds = na.array(zip(cg.left_edge+cg.dds/2.0, cg.right_edge-cg.dds/2.0)).ravel()
         interp = TrilinearFieldInterpolator(na.log10(cg[field]), bds, ['x','y','z'])

Modified: trunk/yt/raven/VTKInterface.py
==============================================================================
--- trunk/yt/raven/VTKInterface.py	(original)
+++ trunk/yt/raven/VTKInterface.py	Tue Mar 31 13:51:37 2009
@@ -297,6 +297,8 @@
     window = Instance(ivtk.IVTKWithCrustAndBrowser)
     python_shell = Delegate('window')
     scene = Delegate('window')
+    smoothed = Bool(True)
+    cache = Bool(True)
 
     # UI elements
     import_hierarchy = Button()
@@ -310,6 +312,8 @@
                         Item('parameter_fn'),
                         Item('field'),
                         Item('center'),
+                        Item('smoothed'),
+                        Item('cache', label='Pre-load data'),
                         Item('import_hierarchy', show_label=False))
     
     def _center_default(self):
@@ -342,6 +346,10 @@
         self.center = self.extracted_hierarchy._convert_coords(
             self.pf.h.find_max("Density")[1])
         gid = 0
+        if self.cache:
+            for grid_set in self.extracted_hierarchy.get_levels():
+                for grid in grid_set:
+                    grid[self.field]
         for l, grid_set in enumerate(self.extracted_hierarchy.get_levels()):
             gid = self._add_level(grid_set, l, gid)
         #self._hdata_set.generate_visibility_arrays()
@@ -362,7 +370,7 @@
         if grid in self._grids: return
         self._grids.append(grid)
 
-        scalars = grid.get_vertex_centered_data(self.field)
+        scalars = grid.get_vertex_centered_data(self.field, smoothed=self.smoothed)
 
         io, left_index, origin, dds = \
             self.extracted_hierarchy._convert_grid(grid)



More information about the yt-svn mailing list