[yt-svn] commit/yt: 9 new changesets
commits-noreply at bitbucket.org
commits-noreply at bitbucket.org
Sat Feb 23 03:24:41 PST 2013
9 new commits in yt:
https://bitbucket.org/yt_analysis/yt/commits/e2c4ed03b884/
changeset: e2c4ed03b884
branch: yt
user: xarthisius
date: 2013-02-18 14:27:07
summary: [AMRHierarchy:get_smallest_dx] Don't assume that cell has equal edges
affected #: 1 file
diff -r 9823f77dfcbbb2c286da9cc872d63d06a1791a6a -r e2c4ed03b8842726fa5981bd31d7d1093371ef39 yt/data_objects/hierarchy.py
--- a/yt/data_objects/hierarchy.py
+++ b/yt/data_objects/hierarchy.py
@@ -209,7 +209,7 @@
pf = self.parameter_file
if find_max: c = self.find_max("Density")[1]
else: c = (pf.domain_right_edge + pf.domain_left_edge)/2.0
- return self.region(c,
+ return self.region(c,
pf.domain_left_edge, pf.domain_right_edge)
def clear_all_data(self):
@@ -308,7 +308,7 @@
self.save_data = self._save_data
else:
self.save_data = parallel_splitter(self._save_data, self._reload_data_file)
-
+
save_data = parallel_splitter(_save_data, _reload_data_file)
def save_object(self, obj, name):
@@ -367,7 +367,7 @@
"""
Returns (in code units) the smallest cell size in the simulation.
"""
- return self.select_grids(self.grid_levels.max())[0].dds[0]
+ return self.select_grids(self.grid_levels.max())[0].dds[:].min()
def _add_object_class(self, name, class_name, base, dd):
self.object_types.append(name)
https://bitbucket.org/yt_analysis/yt/commits/a1ffc0400a3d/
changeset: a1ffc0400a3d
branch: yt
user: xarthisius
date: 2013-02-18 14:30:33
summary: [ObjectFindingMixin:get_box_grids] avoid roundoff error while finding all grids between left and right edge
affected #: 1 file
diff -r e2c4ed03b8842726fa5981bd31d7d1093371ef39 -r a1ffc0400a3d66c0a8ea033ed44ac2af3698f4cc yt/data_objects/object_finding_mixin.py
--- a/yt/data_objects/object_finding_mixin.py
+++ b/yt/data_objects/object_finding_mixin.py
@@ -198,8 +198,9 @@
"""
Gets back all the grids between a left edge and right edge
"""
- grid_i = np.where((np.all(self.grid_right_edge > left_edge, axis=1)
- & np.all(self.grid_left_edge < right_edge, axis=1)) == True)
+ dx = self.get_smallest_dx() * 0.5
+ grid_i = np.where((np.all(self.grid_right_edge > (left_edge + dx), axis=1)
+ & np.all(self.grid_left_edge < (right_edge - dx), axis=1)) == True)
return self.grids[grid_i], grid_i
def get_periodic_box_grids(self, left_edge, right_edge):
https://bitbucket.org/yt_analysis/yt/commits/3ce8e627fe27/
changeset: 3ce8e627fe27
branch: yt
user: xarthisius
date: 2013-02-18 14:50:29
summary: Remove duplicated code
affected #: 1 file
diff -r a1ffc0400a3d66c0a8ea033ed44ac2af3698f4cc -r 3ce8e627fe27b93e7f9f4b408d2c3328740e2071 yt/utilities/lib/geometry_utils.pyx
--- a/yt/utilities/lib/geometry_utils.pyx
+++ b/yt/utilities/lib/geometry_utils.pyx
@@ -183,7 +183,7 @@
@cython.wraparound(False)
@cython.cdivision(True)
def cutting_plane_cells(dobj, gobj):
- cdef np.ndarray[np.uint8_t, ndim=3] mask
+ cdef np.ndarray[np.uint8_t, ndim=3] mask
cdef np.ndarray[np.float64_t, ndim=1] left_edge = gobj.LeftEdge
cdef np.ndarray[np.float64_t, ndim=1] dds = gobj.dds
cdef int i, j, k
@@ -205,58 +205,6 @@
y += dds[1]
x += dds[0]
return mask
-
- at cython.boundscheck(False)
- at cython.wraparound(False)
- at cython.cdivision(True)
-def get_box_grids_level(np.ndarray[np.float64_t, ndim=1] left_edge,
- np.ndarray[np.float64_t, ndim=1] right_edge,
- int level,
- np.ndarray[np.float64_t, ndim=2] left_edges,
- np.ndarray[np.float64_t, ndim=2] right_edges,
- np.ndarray[np.int32_t, ndim=2] levels,
- np.ndarray[np.int32_t, ndim=1] mask,
- int min_index = 0):
- cdef int i, n
- cdef int nx = left_edges.shape[0]
- cdef int inside
- for i in range(nx):
- if i < min_index or levels[i,0] != level:
- mask[i] = 0
- continue
- inside = 1
- for n in range(3):
- if left_edge[n] >= right_edges[i,n] or \
- right_edge[n] <= left_edges[i,n]:
- inside = 0
- break
- if inside == 1: mask[i] = 1
- else: mask[i] = 0
-
- at cython.boundscheck(False)
- at cython.wraparound(False)
- at cython.cdivision(True)
-def get_box_grids_below_level(
- np.ndarray[np.float64_t, ndim=1] left_edge,
- np.ndarray[np.float64_t, ndim=1] right_edge,
- int level,
- np.ndarray[np.float64_t, ndim=2] left_edges,
- np.ndarray[np.float64_t, ndim=2] right_edges,
- np.ndarray[np.int32_t, ndim=2] levels,
- np.ndarray[np.int32_t, ndim=1] mask):
- cdef int i, n
- cdef int nx = left_edges.shape[0]
- cdef int inside
- for i in range(nx):
- mask[i] = 0
- if levels[i,0] <= level:
- inside = 1
- for n in range(3):
- if left_edge[n] >= right_edges[i,n] or \
- right_edge[n] <= left_edges[i,n]:
- inside = 0
- break
- if inside == 1: mask[i] = 1
# Finally, miscellaneous routines.
https://bitbucket.org/yt_analysis/yt/commits/b75ef9a60432/
changeset: b75ef9a60432
branch: yt
user: xarthisius
date: 2013-02-18 14:56:38
summary: [get_box_grids_*] avoid roundoff error while finding all grids between left and right edges
affected #: 1 file
diff -r 3ce8e627fe27b93e7f9f4b408d2c3328740e2071 -r b75ef9a60432c772c49b3fc54aa587b37807821f yt/utilities/lib/misc_utilities.pyx
--- a/yt/utilities/lib/misc_utilities.pyx
+++ b/yt/utilities/lib/misc_utilities.pyx
@@ -117,16 +117,16 @@
@cython.boundscheck(False)
@cython.wraparound(False)
@cython.cdivision(True)
-def lines(np.ndarray[np.float64_t, ndim=3] image,
+def lines(np.ndarray[np.float64_t, ndim=3] image,
np.ndarray[np.int64_t, ndim=1] xs,
np.ndarray[np.int64_t, ndim=1] ys,
np.ndarray[np.float64_t, ndim=2] colors,
int points_per_color=1):
-
+
cdef int nx = image.shape[0]
cdef int ny = image.shape[1]
cdef int nl = xs.shape[0]
- cdef np.float64_t alpha[3], nalpha
+ cdef np.float64_t alpha[3], nalpha
cdef int i, j
cdef int dx, dy, sx, sy, e2, err
cdef np.int64_t x0, x1, y0, y1
@@ -139,7 +139,7 @@
for i in range(3):
alpha[i] = colors[j/points_per_color,3]*colors[j/points_per_color,i]
nalpha = 1.0-colors[j/points_per_color,3]
- if x0 < x1:
+ if x0 < x1:
sx = 1
else:
sx = -1
@@ -147,7 +147,7 @@
sy = 1
else:
sy = -1
- while(1):
+ while(1):
if (x0 < 0 and sx == -1): break
elif (x0 >= nx and sx == 1): break
elif (y0 < 0 and sy == -1): break
@@ -164,13 +164,13 @@
if e2 < dx :
err = err + dx
y0 += sy
- return
+ return
def rotate_vectors(np.ndarray[np.float64_t, ndim=3] vecs,
np.ndarray[np.float64_t, ndim=2] R):
cdef int nx = vecs.shape[0]
cdef int ny = vecs.shape[1]
- rotated = np.empty((nx,ny,3),dtype='float64')
+ rotated = np.empty((nx,ny,3),dtype='float64')
for i in range(nx):
for j in range(ny):
for k in range(3):
@@ -216,18 +216,19 @@
np.ndarray[np.float64_t, ndim=2] right_edges,
np.ndarray[np.int32_t, ndim=2] levels,
np.ndarray[np.int32_t, ndim=1] mask,
- int min_index = 0):
+ int min_index = 0,
+ np.float64_t dx = 0.0):
cdef int i, n
cdef int nx = left_edges.shape[0]
- cdef int inside
+ cdef int inside
for i in range(nx):
if i < min_index or levels[i,0] != level:
mask[i] = 0
continue
inside = 1
for n in range(3):
- if left_edge[n] >= right_edges[i,n] or \
- right_edge[n] <= left_edges[i,n]:
+ if left_edge[n] >= (right_edges[i,n] - dx) or \
+ right_edge[n] <= (left_edges[i,n] + dx):
inside = 0
break
if inside == 1: mask[i] = 1
@@ -244,17 +245,18 @@
np.ndarray[np.float64_t, ndim=2] right_edges,
np.ndarray[np.int32_t, ndim=2] levels,
np.ndarray[np.int32_t, ndim=1] mask,
- int min_level = 0):
+ int min_level = 0,
+ np.float64_t dx = 0.0):
cdef int i, n
cdef int nx = left_edges.shape[0]
- cdef int inside
+ cdef int inside
for i in range(nx):
mask[i] = 0
if levels[i,0] <= level and levels[i,0] >= min_level:
inside = 1
for n in range(3):
- if left_edge[n] >= right_edges[i,n] or \
- right_edge[n] <= left_edges[i,n]:
+ if left_edge[n] >= (right_edges[i,n] - dx) or \
+ right_edge[n] <= (left_edges[i,n] + dx):
inside = 0
break
if inside == 1: mask[i] = 1
https://bitbucket.org/yt_analysis/yt/commits/da0cb8e6f4e2/
changeset: da0cb8e6f4e2
branch: yt
user: xarthisius
date: 2013-02-18 14:57:52
summary: [gdf] avoid roundoff error while finding grids on the same refinement level
affected #: 1 file
Diff not available.
https://bitbucket.org/yt_analysis/yt/commits/063382670849/
changeset: 063382670849
branch: yt
user: xarthisius
date: 2013-02-19 14:07:22
summary: Convert all previously modified 'a >< b' relations to '(a-b) <> eps' and use internal constant for machine precision
affected #: 3 files
Diff not available.
https://bitbucket.org/yt_analysis/yt/commits/f0a1c7eacf13/
changeset: f0a1c7eacf13
branch: yt
user: xarthisius
date: 2013-02-19 15:02:58
summary: [test_slice] Add tests for slices along grid boundaries
affected #: 1 file
Diff not available.
https://bitbucket.org/yt_analysis/yt/commits/35d26ba1fc45/
changeset: 35d26ba1fc45
branch: yt
user: xarthisius
date: 2013-02-22 12:46:33
summary: merging
affected #: 17 files
Diff not available.
https://bitbucket.org/yt_analysis/yt/commits/381684014a1a/
changeset: 381684014a1a
branch: yt
user: MatthewTurk
date: 2013-02-23 12:24:33
summary: Merged in xarthisius/yt (pull request #436)
Avoid roundoff errors while determining whether grid lies between two points
affected #: 6 files
Diff not available.
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