[yt-svn] commit/yt: 3 new changesets
commits-noreply at bitbucket.org
commits-noreply at bitbucket.org
Fri Jan 31 10:53:49 PST 2014
3 new commits in yt:
https://bitbucket.org/yt_analysis/yt/commits/4333e8ae5475/
Changeset: 4333e8ae5475
Branch: yt-3.0
User: MatthewTurk
Date: 2014-01-31 18:43:57
Summary: Adding select_cell for ray_selector for Octrees.
This is not very efficient -- but it will work, and grids won't call it.
Affected #: 1 file
diff -r 820c18731bd631c346c80a9df3594331472bc976 -r 4333e8ae547553d82abd576d1fde10084f05d9dd yt/geometry/selection_routines.pyx
--- a/yt/geometry/selection_routines.pyx
+++ b/yt/geometry/selection_routines.pyx
@@ -1213,6 +1213,20 @@
return 1
return 0
+ @cython.boundscheck(False)
+ @cython.wraparound(False)
+ @cython.cdivision(True)
+ cdef int select_cell(self, np.float64_t pos[3],
+ np.float64_t dds[3]) nogil:
+ # This is terribly inefficient for Octrees. For grids, it will never
+ # get called.
+ cdef int i
+ cdef np.float64_t left_edge[3], right_edge[3]
+ for i in range(3):
+ left_edge[i] = pos[i] - dds[i]/2.0
+ right_edge[i] = pos[i] + dds[i]/2.0
+ return self.select_bbox(left_edge, right_edge)
+
def _hash_vals(self):
return (self.p1[0], self.p1[1], self.p1[2],
self.p2[0], self.p2[1], self.p2[2],
https://bitbucket.org/yt_analysis/yt/commits/4c4b15b8aef5/
Changeset: 4c4b15b8aef5
Branch: yt-3.0
User: MatthewTurk
Date: 2014-01-31 18:56:04
Summary: Make tcoords select_tcoords
This improves consistency for data objects.
Affected #: 4 files
diff -r 4333e8ae547553d82abd576d1fde10084f05d9dd -r 4c4b15b8aef5f66704b5e8cc246d3c3e1764694a yt/data_objects/grid_patch.py
--- a/yt/data_objects/grid_patch.py
+++ b/yt/data_objects/grid_patch.py
@@ -317,7 +317,7 @@
coords[:] = self.Level
return coords
- def tcoords(self, dobj):
+ def select_tcoords(self, dobj):
dt, t = dobj.selector.get_dt(self)
return dt, t
diff -r 4333e8ae547553d82abd576d1fde10084f05d9dd -r 4c4b15b8aef5f66704b5e8cc246d3c3e1764694a yt/data_objects/octree_subset.py
--- a/yt/data_objects/octree_subset.py
+++ b/yt/data_objects/octree_subset.py
@@ -123,6 +123,9 @@
for i, sl in slicer:
yield sl, mask[:,:,:,i]
+ def select_tcoords(self, dobj):
+ raise NotImplementedError
+
@property
def domain_ind(self):
if self._domain_ind is None:
diff -r 4333e8ae547553d82abd576d1fde10084f05d9dd -r 4c4b15b8aef5f66704b5e8cc246d3c3e1764694a yt/data_objects/unstructured_mesh.py
--- a/yt/data_objects/unstructured_mesh.py
+++ b/yt/data_objects/unstructured_mesh.py
@@ -122,7 +122,7 @@
if mask is None: return np.empty(0, dtype='int32')
return ind[mask]
- def tcoords(self, dobj):
+ def select_tcoords(self, dobj):
mask = self._get_selector_mask(dobj.selector)
if mask is None: return np.empty(0, dtype='float64')
dt, t = dobj.selector.get_dt_mesh(self, mask.sum(), self._index_offset)
diff -r 4333e8ae547553d82abd576d1fde10084f05d9dd -r 4c4b15b8aef5f66704b5e8cc246d3c3e1764694a yt/geometry/geometry_handler.py
--- a/yt/geometry/geometry_handler.py
+++ b/yt/geometry/geometry_handler.py
@@ -568,6 +568,7 @@
else:
tr = func(self)
if self._cache:
+
setattr(self, n, tr)
return tr
return property(cached_func)
@@ -656,7 +657,7 @@
if self.data_size == 0: return cdt
ind = 0
for obj in self.objs:
- gdt, gt = obj.tcoords(self.dobj)
+ gdt, gt = obj.select_tcoords(self.dobj)
if gt.shape == 0: continue
ct[ind:ind+gt.size] = gt
cdt[ind:ind+gdt.size] = gdt
https://bitbucket.org/yt_analysis/yt/commits/bef9fef75720/
Changeset: bef9fef75720
Branch: yt-3.0
User: MatthewTurk
Date: 2014-01-31 19:08:53
Summary: Enable Octrees to have rays.
Affected #: 2 files
diff -r 4c4b15b8aef5f66704b5e8cc246d3c3e1764694a -r bef9fef757203244246d8ec500891fc424f31658 yt/data_objects/octree_subset.py
--- a/yt/data_objects/octree_subset.py
+++ b/yt/data_objects/octree_subset.py
@@ -124,7 +124,15 @@
yield sl, mask[:,:,:,i]
def select_tcoords(self, dobj):
- raise NotImplementedError
+ # These will not be pre-allocated, which can be a problem for speed and
+ # memory usage.
+ dts, ts = [], []
+ for sl, mask in self.select_blocks(dobj.selector):
+ sl.child_mask = mask
+ dt, t = dobj.selector.get_dt(sl)
+ dts.append(dt)
+ ts.append(t)
+ return np.concatenate(dts), np.concatenate(ts)
@property
def domain_ind(self):
diff -r 4c4b15b8aef5f66704b5e8cc246d3c3e1764694a -r bef9fef757203244246d8ec500891fc424f31658 yt/geometry/geometry_handler.py
--- a/yt/geometry/geometry_handler.py
+++ b/yt/geometry/geometry_handler.py
@@ -592,6 +592,10 @@
for obj in self.objs:
f = getattr(obj, mname)
arrs.append(f(self.dobj))
+ if method == "dtcoords":
+ arrs = [arr[0] for arr in arrs]
+ elif method == "tcoords":
+ arrs = [arr[1] for arr in arrs]
arrs = np.concatenate(arrs)
self.data_size = arrs.shape[0]
return arrs
Repository URL: https://bitbucket.org/yt_analysis/yt/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
More information about the yt-svn
mailing list