[yt-dev] data on different AMR levels

Michael Kuhlen mqk at astro.berkeley.edu
Wed Jan 16 17:30:48 PST 2013


Hi Elizabeth

The following is probably not exactly what you're looking for, since it
operates on fields as opposed to grids, but this would be one way forward:

grids = pf.h.select_grids(0)
for g in grids:
    rho = g['Density']
    for dim in [0,1,2]:
        rho = np.repeat(rho,4,axis=dim)
    ## do stuff with expanded rho array

Cheers,

Mike



On Wed, Jan 16, 2013 at 3:28 PM, Elizabeth Tasker <
tasker at astro1.sci.hokudai.ac.jp> wrote:

> Hi Matt,
>
> Thanks for your reply!
>
> >>
> >> For this, we'd like to grab all the cells on one AMR level, divide them
> so that they have a fixed cell size and output.
> >
> > I'm not entirely sure I understand this process... :(
>
> So, if I have a root grid with cells of size 64 pc and 2 levels of AMR,
> I'd like to gather up all the level 0, 64pc cells and chop them up to make
> them 16 pc. Then take all the level 1, 32 pc cells and chop them to make
> them 16 pc.
>
> Then dump to a file of any type :)
>
> >
> >>
> >> Is there a quick way of doing this in yt?
> >>
> >> I *think* the answer will be no, since (for example) covering_grid will
> grab the best data available to make the mesh, not just the data from a
> single level. Is that right? We specifically need to avoid interpolation.
> >>
> >> If so, probably it's easiest just to grab the cells on one level via:
> >>
> >> gridnum = [g for g in pf.h.grids if g.Level == l]
> >
> > You can also do this with pf.h.select_grids( level )
>
> Great, that's neater.
>
> >
> >>
> >> then divide them into the right size. Is there a way of passing a grid
> to covering_grid to make it a particular size? i.e. something like:
> >>
> >> for g in gridnum:
> >>        grid_fixedcellsize = g.covering_grid(......)
> >
> > Covering grids go up to a given level, specified in the constructor,
> > which might accomplish what you're looking for; i.e., you specify a
> > left edge, a level (which fixes the dx) and a dimensionality (which
> > fixes the right_edge).  What you are describing here is similar to
> > what's done if you do:
> >
> > g.retrieve_ghost_zones( N, [field_list], smoothed = False)
> >
> > You can also explore grid_collection, which accepts any list of grids
> > and then returns a data object.
> >
> > If you describe a bit more exactly the format you want to get out,
> > perhaps I can give a better example?  I think what you're describing
> > is probably doable, I'm just not sure precisely what it will look like
> > so I can't quite envision it.
> >
>
>
> The format isn't really important. I was just looking for an easy way to
> take grids which have cell size 64 pc and produce grids with cell size 16
> pc (or whatever size I want) **just** from those grids (i.e. not by
> grabbing the lower level grids).
>
> Does that make more sense?
>
> Elizabeth
> _______________________________________________
> yt-dev mailing list
> yt-dev at lists.spacepope.org
> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
>



-- 
*********************************************************************
*                                                                   *
*  Dr. Michael Kuhlen              Theoretical Astrophysics Center  *
*  email: mqk at astro.berkeley.edu   UC Berkeley                      *
*  cell phone: (831) 588-1468      B-116 Hearst Field Annex # 3411  *
*  skype username: mikekuhlen      Berkeley, CA 94720               *
*                                                                   *
*********************************************************************
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.spacepope.org/pipermail/yt-dev-spacepope.org/attachments/20130116/8690d040/attachment.html>


More information about the yt-dev mailing list