[yt-users] Improved support for isolated boundary conditions

Matthew Turk matthewturk at gmail.com
Fri Feb 1 09:33:37 PST 2013


Hi everyone,

Thank you for this work, Nathan.  This is going to be a bit benefit
for yt moving forward.  I've accepted the PR, and I'm excited to see
this included!

Also, it's worth noting, since I don't think it's come up on this
mailing list before.  We're moving toward specifying invasive changes
like this in a YTEP ("yt enhancement proposal") which gets discussed
and updated, like a living document of design.

Ongoing and completed discussions:

https://bitbucket.org/yt_analysis/ytep/pull-requests/
https://bitbucket.org/yt_analysis/ytep/pull-requests/merged

Current accepted YTEPs:

https://yt.readthedocs.org/projects/ytep/en/latest/

Please feel free to participate in this process -- we'd like to
encourage input from everyone in the community.

Best,

Matt

On Tue, Jan 29, 2013 at 1:02 PM, Nathan Goldbaum <nathan12343 at gmail.com> wrote:
> Hi all,
>
> As you may know, yt was originally written to handle outputs from
> cosmological simulations produced by the Enzo code.  Due to this pedigree,
> yt assumes internally in a number of places that the simulation box has
> periodic boundary conditions.
>
> In the last couple of years, we've been working on improving support for
> both non-cosmological simulations and datasets produced by codes besides
> Enzo.  This effort has come a long way, but until recently the nature of the
> boundary conditions has received relatively little development attention.
> However, as yt becomes commonly used by people outside of the enzo
> community, the lack of proper support for general periodic or non-periodic
> boundary conditions is starting to be felt.  A particularly nasty case is
> the radius field, which in the current codebase assumes periodic boundary
> conditions, producing incorrect results when someone tries to profile a
> field versus radius in a simulation that assumed some sort of isolated
> boundary conditions.
>
> Recently, Matt Turk came up with a summary of our strategy for improving
> support general boundary conditions, summarized in YTEP-0006:
> https://bitbucket.org/yt_analysis/ytep/src/tip/source/YTEPs/YTEP-0006.rst
>
> The main take-away points are that each of the code frontends will need to
> define a periodicity attribute that hangs off of each of the StaticOutput
> class.  This way, one can check the periodicity of a parameter file by doing
> something like:
>
>>>> pf = load(filename)
>>>> print pf.periodicity
> (True, True, True)
>
> Here, pf.periodicity is a tuple, from which one can read off that the
> simulation is periodic along all three directions.  We intend to fully
> support simulations that have arbitrary mixed periodic and isolated boundary
> conditions.  We will then use the new periodicity attribute to modify the
> places in the code where we need to worry about boundary conditions.
>
> I've gone ahead and added the periodicity attribute for most of the code
> frontends.  I've also enhanced the Radius and ParticleRadius fields to
> properly handle the periodicity.  These modifications are included in Pull
> Request #410:
> https://bitbucket.org/yt_analysis/yt/pull-request/410/first-pass-at-ytep-6-closes-484
>
> At this point, the PR is more or less ready to go.  However, since this is a
> somewhat invasive change that might temporarily break code frontends if
> there is a bug somewhere, it would be great if some of you would check to
> make sure that everything works correctly for your datasets.  In particular,
> I need help figuring out how to set the periodicity for the orion, chombo
> (i.e. pluto and orion2), maestro, and nyx frontends.  It would also be great
> to hear from users who commonly work with 1D or 2D data, as these sorts of
> datasets have caused trouble in the past.
>
> I'll also note that if you're interested in helping out with yt development,
> finishing up YTEP-0006 would be an excellent starter project.  If you run
> into trouble, please send a message to the yt-users or yt-dev mailing lists
> or, if you're looking for low-latency discussion, stop by on our IRC channel
> (#yt on freenode, or use the web chat interface:
> http://yt-project.org/irc.html).
>
> Cheers,
>
> Nathan Goldbaum
>
>
>
> _______________________________________________
> 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