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

mturk at wrangler.dreamhost.com mturk at wrangler.dreamhost.com
Wed May 26 22:49:19 PDT 2010


Author: mturk
Date: Wed May 26 22:49:18 2010
New Revision: 1734
URL: http://yt.enzotools.org/changeset/1734

Log:
As per discussion on yt-dev, interpolation for ghost zones, smoothed covering
grids, and vertex-centered data is changed from being in either log space or
linear space to being exclusively in linear space.



Modified:
   trunk/yt/lagos/BaseDataTypes.py
   trunk/yt/lagos/BaseGridType.py

Modified: trunk/yt/lagos/BaseDataTypes.py
==============================================================================
--- trunk/yt/lagos/BaseDataTypes.py	(original)
+++ trunk/yt/lagos/BaseDataTypes.py	Wed May 26 22:49:18 2010
@@ -1067,8 +1067,7 @@
             vc = self._calc_vertex_centered_data(grid, field)
             bds = na.array(zip(grid.LeftEdge,
                                grid.RightEdge)).ravel()
-            interp = TrilinearFieldInterpolator(vc, bds,
-                                                ['x', 'y', 'z'])
+            interp = TrilinearFieldInterpolator(vc, bds, ['x', 'y', 'z'])
             self[field][pointI] = interp( \
                 dict(x=self._coord[pointI,0],
                      y=self._coord[pointI,1],
@@ -2509,16 +2508,10 @@
         for ax in 'xyz': self['cd%s'%ax] = fake_grid['d%s'%ax]
         for field in fields:
             # Generate the new grid field
-            if field in self.pf.field_info and self.pf.field_info[field].take_log:
-                interpolator = TrilinearFieldInterpolator(
-                                na.log10(self[field]), bounds, ['x','y','z'],
-                                truncate = True)
-                self[field] = 10**interpolator(fake_grid)
-            else:
-                interpolator = TrilinearFieldInterpolator(
-                                self[field], bounds, ['x','y','z'],
-                                truncate = True)
-                self[field] = interpolator(fake_grid)
+            interpolator = TrilinearFieldInterpolator(
+                            self[field], bounds, ['x','y','z'],
+                            truncate = True)
+            self[field] = interpolator(fake_grid)
         return fake_grid
 
     def get_data(self, field=None):
@@ -2793,17 +2786,10 @@
         z += self.global_startindex[2]
         fake_grid = {'x':x,'y':y,'z':z}
 
-        if field in self.pf.field_info and self.pf.field_info[field].take_log:
-            my_field = na.log10(self[field])
-        else:
-            my_field = self[field]
         interpolator = TrilinearFieldInterpolator(
-                        my_field, old_bounds, ['x','y','z'],
+                        self[field], old_bounds, ['x','y','z'],
                         truncate = True)
-        if field in self.pf.field_info and self.pf.field_info[field].take_log:
-            self[field] = 10**interpolator(fake_grid)
-        else:
-            self[field] = interpolator(fake_grid)
+        self[field] = interpolator(fake_grid)
 
     def _get_data_from_grid(self, grid, fields, level):
         fields = ensure_list(fields)

Modified: trunk/yt/lagos/BaseGridType.py
==============================================================================
--- trunk/yt/lagos/BaseGridType.py	(original)
+++ trunk/yt/lagos/BaseGridType.py	Wed May 26 22:49:18 2010
@@ -437,22 +437,16 @@
     def get_vertex_centered_data(self, field, smoothed=True):
         cg = self.retrieve_ghost_zones(1, field, smoothed=smoothed)
         # We have two extra zones in every direction
-        if field in self.pf.field_info and self.pf.field_info[field].take_log:
-            cf = na.log10(cg[field])
-        else:
-            cf = cg[field]
         new_field = na.zeros(self.ActiveDimensions + 1, dtype='float64')
-        na.add(new_field, cf[1: ,1: ,1: ], new_field)
-        na.add(new_field, cf[:-1,1: ,1: ], new_field)
-        na.add(new_field, cf[1: ,:-1,1: ], new_field)
-        na.add(new_field, cf[1: ,1: ,:-1], new_field)
-        na.add(new_field, cf[:-1,1: ,:-1], new_field)
-        na.add(new_field, cf[1: ,:-1,:-1], new_field)
-        na.add(new_field, cf[:-1,:-1,1: ], new_field)
-        na.add(new_field, cf[:-1,:-1,:-1], new_field)
+        na.add(new_field, cg[field][1: ,1: ,1: ], new_field)
+        na.add(new_field, cg[field][:-1,1: ,1: ], new_field)
+        na.add(new_field, cg[field][1: ,:-1,1: ], new_field)
+        na.add(new_field, cg[field][1: ,1: ,:-1], new_field)
+        na.add(new_field, cg[field][:-1,1: ,:-1], new_field)
+        na.add(new_field, cg[field][1: ,:-1,:-1], new_field)
+        na.add(new_field, cg[field][:-1,:-1,1: ], new_field)
+        na.add(new_field, cg[field][:-1,:-1,:-1], new_field)
         na.multiply(new_field, 0.125, new_field)
-        if field in self.pf.field_info and self.pf.field_info[field].take_log:
-            na.power(10.0, new_field, new_field)
         return new_field
 
 class EnzoGrid(AMRGridPatch):



More information about the yt-svn mailing list