[yt-svn] commit/yt: 4 new changesets
commits-noreply at bitbucket.org
commits-noreply at bitbucket.org
Wed May 11 11:27:20 PDT 2016
4 new commits in yt:
https://bitbucket.org/yt_analysis/yt/commits/bfd78c5096f3/
Changeset: bfd78c5096f3
Branch: yt
User: atmyers
Date: 2016-05-07 00:05:14+00:00
Summary: Enforce periodicity in annotate_particles.
Affected #: 1 file
diff -r 80ec1ac414a7652791eed06469dc4104ff0c556b -r bfd78c5096f34f6a0804a8f282051819a45d1256 yt/visualization/plot_modifications.py
--- a/yt/visualization/plot_modifications.py
+++ b/yt/visualization/plot_modifications.py
@@ -1519,21 +1519,61 @@
field_x = "particle_position_%s" % axis_names[xax]
field_y = "particle_position_%s" % axis_names[yax]
pt = self.ptype
- gg = ( ( reg[pt, field_x] >= x0 ) & ( reg[pt, field_x] <= x1 )
- & ( reg[pt, field_y] >= y0 ) & ( reg[pt, field_y] <= y1 ) )
+ self.periodic_x = plot.data.ds.periodicity[xax]
+ self.periodic_y = plot.data.ds.periodicity[yax]
+ self.LE = plot.data.ds.domain_left_edge[xax], \
+ plot.data.ds.domain_left_edge[yax]
+ self.RE = plot.data.ds.domain_right_edge[xax], \
+ plot.data.ds.domain_right_edge[yax]
+ period_x = plot.data.ds.domain_width[xax]
+ period_y = plot.data.ds.domain_width[yax]
+ particle_x, particle_y = self._enforce_periodic(reg[pt, field_x],
+ reg[pt, field_y],
+ x0, x1, period_x,
+ y0, y1, period_y)
+ gg = ( ( particle_x >= x0 ) & ( particle_x <= x1 )
+ & ( particle_y >= y0 ) & ( particle_y <= y1 ) )
if self.minimum_mass is not None:
gg &= (reg[pt, "particle_mass"] >= self.minimum_mass)
if gg.sum() == 0: return
plot._axes.hold(True)
px, py = self.convert_to_plot(plot,
- [np.array(reg[pt, field_x][gg][::self.stride]),
- np.array(reg[pt, field_y][gg][::self.stride])])
+ [np.array(particle_x[gg][::self.stride]),
+ np.array(particle_y[gg][::self.stride])])
plot._axes.scatter(px, py, edgecolors='None', marker=self.marker,
s=self.p_size, c=self.color,alpha=self.alpha)
plot._axes.set_xlim(xx0,xx1)
plot._axes.set_ylim(yy0,yy1)
plot._axes.hold(False)
+ def _enforce_periodic(self,
+ particle_x,
+ particle_y,
+ x0, x1, period_x,
+ y0, y1, period_y):
+ # duplicate particles if periodic in that direction AND if the plot
+ # extends outside the domain boundaries.
+ if self.periodic_x and x0 > self.LE[0]:
+ particle_x = YTArray(np.hstack((particle_x, particle_x + period_x)),
+ input_units = period_x.units)
+ particle_y = YTArray(np.hstack((particle_y, particle_y)),
+ input_units = period_y.units)
+ if self.periodic_x and x1 < self.RE[0]:
+ particle_x = YTArray(np.hstack((particle_x, particle_x - period_x)),
+ input_units = period_x.units)
+ particle_y = YTArray(np.hstack((particle_y, particle_y)),
+ input_units = period_y.units)
+ if self.periodic_y and y0 > self.LE[1]:
+ particle_y = YTArray(np.hstack((particle_y, particle_y + period_y)),
+ input_units = period_y.units)
+ particle_x = YTArray(np.hstack((particle_x, particle_x)),
+ input_units = period_x.units)
+ if self.periodic_y and y1 < self.RE[1]:
+ particle_y = YTArray(np.hstack((particle_y, particle_y - period_y)),
+ input_units = period_y.units)
+ particle_x = YTArray(np.hstack((particle_x, particle_x)),
+ input_units = period_x.units)
+ return particle_x, particle_y
def _get_region(self, xlim, ylim, axis, data):
LE, RE = [None]*3, [None]*3
https://bitbucket.org/yt_analysis/yt/commits/63606380105d/
Changeset: 63606380105d
Branch: yt
User: atmyers
Date: 2016-05-07 16:14:27+00:00
Summary: merging with tip
Affected #: 1 file
diff -r bfd78c5096f34f6a0804a8f282051819a45d1256 -r 63606380105d838f50574da3ab7df029efdc31f6 yt/units/yt_array.py
--- a/yt/units/yt_array.py
+++ b/yt/units/yt_array.py
@@ -1438,7 +1438,7 @@
This is a wrapper around np.hstack that preserves units.
"""
- v = np.vstack(arrs)
+ v = np.hstack(arrs)
v = validate_numpy_wrapper_units(v, arrs)
return v
https://bitbucket.org/yt_analysis/yt/commits/931c01b73a09/
Changeset: 931c01b73a09
Branch: yt
User: atmyers
Date: 2016-05-07 16:19:27+00:00
Summary: use the uhstack function instead of handling units manually.
Affected #: 1 file
diff -r 63606380105d838f50574da3ab7df029efdc31f6 -r 931c01b73a099784df44deabad700036a74d1e1b yt/visualization/plot_modifications.py
--- a/yt/visualization/plot_modifications.py
+++ b/yt/visualization/plot_modifications.py
@@ -27,7 +27,7 @@
from yt.funcs import \
mylog, iterable
from yt.extern.six import add_metaclass
-from yt.units.yt_array import YTQuantity, YTArray
+from yt.units.yt_array import YTQuantity, YTArray, uhstack
from yt.visualization.image_writer import apply_colormap
from yt.utilities.lib.geometry_utils import triangle_plane_intersect
from yt.utilities.lib.pixelization_routines import \
@@ -1554,25 +1554,17 @@
# duplicate particles if periodic in that direction AND if the plot
# extends outside the domain boundaries.
if self.periodic_x and x0 > self.LE[0]:
- particle_x = YTArray(np.hstack((particle_x, particle_x + period_x)),
- input_units = period_x.units)
- particle_y = YTArray(np.hstack((particle_y, particle_y)),
- input_units = period_y.units)
+ particle_x = uhstack((particle_x, particle_x + period_x))
+ particle_y = uhstack((particle_y, particle_y))
if self.periodic_x and x1 < self.RE[0]:
- particle_x = YTArray(np.hstack((particle_x, particle_x - period_x)),
- input_units = period_x.units)
- particle_y = YTArray(np.hstack((particle_y, particle_y)),
- input_units = period_y.units)
+ particle_x = uhstack((particle_x, particle_x - period_x))
+ particle_y = uhstack((particle_y, particle_y))
if self.periodic_y and y0 > self.LE[1]:
- particle_y = YTArray(np.hstack((particle_y, particle_y + period_y)),
- input_units = period_y.units)
- particle_x = YTArray(np.hstack((particle_x, particle_x)),
- input_units = period_x.units)
+ particle_y = uhstack((particle_y, particle_y + period_y))
+ particle_x = uhstack((particle_x, particle_x))
if self.periodic_y and y1 < self.RE[1]:
- particle_y = YTArray(np.hstack((particle_y, particle_y - period_y)),
- input_units = period_y.units)
- particle_x = YTArray(np.hstack((particle_x, particle_x)),
- input_units = period_x.units)
+ particle_y = uhstack((particle_y, particle_y - period_y))
+ particle_x = uhstack((particle_x, particle_x))
return particle_x, particle_y
def _get_region(self, xlim, ylim, axis, data):
https://bitbucket.org/yt_analysis/yt/commits/8b661ffb2b26/
Changeset: 8b661ffb2b26
Branch: yt
User: chummels
Date: 2016-05-11 18:27:03+00:00
Summary: Merged in atmyers/yt (pull request #2161)
[BUGFIX] Enforce periodicity in annotate_particles. Closes Issue #543.
Affected #: 1 file
diff -r db993aae188791672893608249078d43a42b50cb -r 8b661ffb2b26c38a26c90e1c2854b9cb32bb9a34 yt/visualization/plot_modifications.py
--- a/yt/visualization/plot_modifications.py
+++ b/yt/visualization/plot_modifications.py
@@ -27,7 +27,7 @@
from yt.funcs import \
mylog, iterable
from yt.extern.six import add_metaclass
-from yt.units.yt_array import YTQuantity, YTArray
+from yt.units.yt_array import YTQuantity, YTArray, uhstack
from yt.visualization.image_writer import apply_colormap
from yt.utilities.lib.geometry_utils import triangle_plane_intersect
from yt.utilities.lib.pixelization_routines import \
@@ -1519,21 +1519,53 @@
field_x = "particle_position_%s" % axis_names[xax]
field_y = "particle_position_%s" % axis_names[yax]
pt = self.ptype
- gg = ( ( reg[pt, field_x] >= x0 ) & ( reg[pt, field_x] <= x1 )
- & ( reg[pt, field_y] >= y0 ) & ( reg[pt, field_y] <= y1 ) )
+ self.periodic_x = plot.data.ds.periodicity[xax]
+ self.periodic_y = plot.data.ds.periodicity[yax]
+ self.LE = plot.data.ds.domain_left_edge[xax], \
+ plot.data.ds.domain_left_edge[yax]
+ self.RE = plot.data.ds.domain_right_edge[xax], \
+ plot.data.ds.domain_right_edge[yax]
+ period_x = plot.data.ds.domain_width[xax]
+ period_y = plot.data.ds.domain_width[yax]
+ particle_x, particle_y = self._enforce_periodic(reg[pt, field_x],
+ reg[pt, field_y],
+ x0, x1, period_x,
+ y0, y1, period_y)
+ gg = ( ( particle_x >= x0 ) & ( particle_x <= x1 )
+ & ( particle_y >= y0 ) & ( particle_y <= y1 ) )
if self.minimum_mass is not None:
gg &= (reg[pt, "particle_mass"] >= self.minimum_mass)
if gg.sum() == 0: return
plot._axes.hold(True)
px, py = self.convert_to_plot(plot,
- [np.array(reg[pt, field_x][gg][::self.stride]),
- np.array(reg[pt, field_y][gg][::self.stride])])
+ [np.array(particle_x[gg][::self.stride]),
+ np.array(particle_y[gg][::self.stride])])
plot._axes.scatter(px, py, edgecolors='None', marker=self.marker,
s=self.p_size, c=self.color,alpha=self.alpha)
plot._axes.set_xlim(xx0,xx1)
plot._axes.set_ylim(yy0,yy1)
plot._axes.hold(False)
+ def _enforce_periodic(self,
+ particle_x,
+ particle_y,
+ x0, x1, period_x,
+ y0, y1, period_y):
+ # duplicate particles if periodic in that direction AND if the plot
+ # extends outside the domain boundaries.
+ if self.periodic_x and x0 > self.LE[0]:
+ particle_x = uhstack((particle_x, particle_x + period_x))
+ particle_y = uhstack((particle_y, particle_y))
+ if self.periodic_x and x1 < self.RE[0]:
+ particle_x = uhstack((particle_x, particle_x - period_x))
+ particle_y = uhstack((particle_y, particle_y))
+ if self.periodic_y and y0 > self.LE[1]:
+ particle_y = uhstack((particle_y, particle_y + period_y))
+ particle_x = uhstack((particle_x, particle_x))
+ if self.periodic_y and y1 < self.RE[1]:
+ particle_y = uhstack((particle_y, particle_y - period_y))
+ particle_x = uhstack((particle_x, particle_x))
+ return particle_x, particle_y
def _get_region(self, xlim, ylim, axis, data):
LE, RE = [None]*3, [None]*3
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.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.spacepope.org/pipermail/yt-svn-spacepope.org/attachments/20160511/60203575/attachment.html>
More information about the yt-svn
mailing list