[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