[yt-dev] Question about the tree structure in yt 2.x
hyschive at ntu.edu.tw
hyschive at ntu.edu.tw
Fri Feb 21 09:26:37 PST 2014
Dear all,
I'm a new user of yt and is trying to use it for analyzing our octree
AMR data, which is similar to FLASH. We are stilling testing yt
version 2.x, and currently we are able to create a slice image
together with the underlying AMR grid distribution WITHOUT providing
any parent-children relation between each grid. However, after we
further set up the parent-children relation, the plot (e.g., the
SlicePlot command) failed with the following error messages:
===============Error Message================================================
ValueError Traceback (most recent call last)
<ipython-input-3-e98bfe3813b1> in <module>()
----> 1 p=SlicePlot(pf,2,"Density",center=(0.501,0.501,0.501))
/work1/ftd/yt-x86_64/src/yt-hg/yt/visualization/plot_window.pyc in
__init__(self, pf, axis, fields, center, width, origin)
805 slc = pf.h.slice(axis, center[axis], fields=fields)
806 print slc,bounds,origin
--> 807 PWViewerMPL.__init__(self, slc, bounds, origin=origin)
808
809 class ProjectionPlot(PWViewerMPL):
/work1/ftd/yt-x86_64/src/yt-hg/yt/visualization/plot_window.pyc in
__init__(self, *args, **kwargs)
446 self._field_transform[field] = linear_transform
447
--> 448 if setup: self._setup_plots()
449
450 @invalidate_plot
/work1/ftd/yt-x86_64/src/yt-hg/yt/visualization/plot_window.pyc in
_setup_plots(self)
617 print self.plots[f].image,self.plots[f].cax
618 self.plots[f].cb = self.plots[f].figure.colorbar(
--> 619 self.plots[f].image, cax = self.plots[f].cax)
620
621 if self.oblique == False:
/work1/ftd/yt-x86_64/lib/python2.7/site-packages/matplotlib/figure.pyc
in colorbar(self, mappable, cax, ax, **kw)
1194 cax, kw = cbar.make_axes(ax, **kw)
1195 cax.hold(True)
-> 1196 cb = cbar.Colorbar(cax, mappable, **kw)
1197
1198 def on_changed(m):
/work1/ftd/yt-x86_64/lib/python2.7/site-packages/matplotlib/colorbar.pyc in
__init__(self, ax, mappable, **kw)
741 kw['alpha'] = mappable.get_alpha()
742
--> 743 ColorbarBase.__init__(self, ax, **kw)
744
745
/work1/ftd/yt-x86_64/lib/python2.7/site-packages/matplotlib/colorbar.pyc in
__init__(self, ax, cmap, norm, alpha, values, boundaries, orientation,
extend, spacing, ticks, format, drawedges, filled)
256 # The rest is in a method so we can recalculate when
clim changes.
257 self.config_axis()
--> 258 self.draw_all()
259
260 def _patch_ax(self):
/work1/ftd/yt-x86_64/lib/python2.7/site-packages/matplotlib/colorbar.pyc in
draw_all(self)
270 and do all the drawing.
271 '''
--> 272 self._process_values()
273 self._find_range()
274 X, Y = self._mesh()
/work1/ftd/yt-x86_64/lib/python2.7/site-packages/matplotlib/colorbar.pyc in
_process_values(self, b)
568 self.norm.vmin = 0
569 self.norm.vmax = 1
--> 570 b = self.norm.inverse(self._uniform_y(self.cmap.N+1))
571 if self.extend in ('both', 'min'):
572 b[0] = b[0] - 1
/work1/ftd/yt-x86_64/lib/python2.7/site-packages/matplotlib/colors.pyc
in inverse(self, value)
946 if cbook.iterable(value):
947 val = ma.asarray(value)
--> 948 return vmin * ma.power((vmax/vmin), val)
949 else:
950 return vmin * pow((vmax/vmin), value)
/work1/ftd/yt-x86_64/lib/python2.7/site-packages/numpy/ma/core.pyc in
__mul__(self, other)
3640 def __mul__(self, other):
3641 "Multiply other by self, and return a new masked array."
-> 3642 return multiply(self, other)
3643 #
3644 def __rmul__(self, other):
/work1/ftd/yt-x86_64/lib/python2.7/site-packages/numpy/ma/core.pyc in
__call__(self, a, b, *args, **kwargs)
934 # Case 1. : scalar
935 if not result.ndim:
--> 936 if m:
937 return masked
938 return result
ValueError: The truth value of an array with more than one element is
ambiguous. Use a.any() or a.all()
==========End of Error
Message==================================================
So, my questions are as follows.
1. What is the necessary information for constructing the tree
structure in yt?Currently the SlicePlot command failed only after we
set up the "Parent" and "Children" variables for each grid in the
function "_populate_grid_objects".
2. Does the SlicePlot command need to know the parent-children
relation of each grid? If no, why it will fail after we set up the
relation?
3. Will yt automatically construct the "neighbor" information for
nearby grids at the same AMR refinement level? If no, how does it
handle the operations requiring spatial derivative (e.g., curl and
divergence)?
Any suggestion will be welcome, and thanks for the help in advance :)
Sincerely,
Hsi-Yu
More information about the yt-dev
mailing list