[yt-users] How yt deals with AMR grids and data objects

Matthew Turk matthewturk at gmail.com
Mon Dec 16 07:48:56 PST 2013


Hi Kearn,

On Mon, Dec 16, 2013 at 10:23 AM,  <k.grisdale at surrey.ac.uk> wrote:
> Dear yt-users
>
> I am attempting to make a tool that will sample the properties of a RAMSES galactic disk simulation. The tools needs to be able to work on different scales going from very large (10kpc) to the very small (2x the size of the smallest cell ~140pc). So far I have achieved this using data objects and calling required property/Quantities that I need. On large scales this works very well, however on small scales I have run into the issue that only part of cells are within in my data object. While this is to be expected it is presenting so interesting results. From what I can tell if the centre of the cell is in my data object yt treats the cell as if the whole cell is within my data object but if the centre is missed it treats it as if the whole cell is absent from the data object, I’m looking for a median between these extremes.

You're right, the cell centers are used for selecting data points in yt.

>
> My question is is there a way to get yt to only take into account the proportion of the cell in side my data object?

Usually they're taken into account via CellVolume weighting or
something along those lines.

>
> Also if the cell only has small corner in my data object is there away to get yt to fetch the properties of that cell (say the density and cell volume) and then multiply these values by the proportion of the cell that is in my object?

The data selection won't find the cell, unfortunately, so it might be
somewhat tricky to do it using the standard setup.  I'd say you might
be interested in using a covering grid, which will expand all of the
cells into some higher resolution; this will enable them to be cut up
and subselected.  The format for this is:

cg = pf.h.covering_grid(some_level, left_edge, dimensions)

This will use "some_level" to determine the dx (with respect to level
0) and dimensions and left edge to describe the extent.  No
interpolation will be conducted.  You can then select it and operate
on it as you like, and it will have the dict-like querying that other
objects do.

-Matt

>
> Thank you in advance for you help
>
> Kearn
> _______________________________________________
> yt-users mailing list
> yt-users at lists.spacepope.org
> http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org



More information about the yt-users mailing list