[yt-dev] Adding the GAMER code

Matthew Turk matthewturk at gmail.com
Tue Sep 25 11:03:17 PDT 2012


Hi Hsi-Yu,

First off, welcome to yt-dev!  I saw your email and was delighted to
hear you'd like to add support for GAMER to yt.

On Tue, Sep 25, 2012 at 4:56 AM, Hsi-Yu Schive <hyschive at ntu.edu.tw> wrote:
> Dear all,
>
> Hi. My name is Hsi-Yu Schive. I'm the main developer of the GAMER code,
> which is a GPU-accelerated AMR code for astrophysical simulations.
> I'm very interested in adding support of GAMER in yt!
> I appreciate if anyone has any suggestion about the best way to initialize
> this work!
>
> The AMR implementation of GAMER is very similar to FLASH. The AMR hierarchy
> is composed of cell blocks, and each of which has a fixed number of cells
> (e.g., 8^3 cells per block).
> An octree data structure is adopted to maintain the AMR hierarchy.
>
> I'll start with following the suggestions given in the "Adding Support for a
> New Code"
> section in the bitbucket yt page and also looking into the Enzo output
> style.
> Any suggestion/comment is more than welcome : )

Awesome!

First off -- *please* feel free to ask questions.  We're an
eager-to-help bunch, and I'd like to make sure that the GAMER format
addition goes without too much difficulty for you!  You can also feel
free to stop by in IRC ( #yt on chat.freenode.org ) where a couple
people are usually available.

I would actually recommend starting with a different method -- the
simplest reader is probably FLASH, which is very straightforward (and
as you note, similar to the GAMER format.)  The "how to add a
frontend" should be mostly up to date, but I went ahead and put into
the yt/frontends/_skeleton directory the skeleton of a frontend, with
comments, drawn from the FLASH frontend.  (This is why it took me a
bit to write back.)  Basically what you need to do:

1) Create a yt/frontends/gamer/ directory, and copy over everything
except __config__.py from the _skeleton directory
2) Rename all the items in the data_structures and fields.py to be
GAMER instead of Skeleton
3) Implement the routines necessary inside the various classes and .py files

I hope that helps, but please do write back if you run into trouble --
and if you'd like to share a dataset and have one of us write the
frontend, that would also work!

Great to hear from you,

Matt

>
> Sincerely,
> Hsi-Yu
>
>
>
>
> _______________________________________________
> yt-dev mailing list
> yt-dev at lists.spacepope.org
> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
>



More information about the yt-dev mailing list