[yt-dev] fixing particle information for the ellipsoid container

Stephen Skory s at skory.us
Mon Apr 1 15:39:54 PDT 2013


Hi Geoffrey,

> I am interested at least in fixing it, because I may use this directly in my
> research, so I was wondering if anyone has worked on 3D containers to help
> me out in digging for the cause of this?

It is unfortunate that Matt is on vacation because he would be the
best equipped to answer this, but I've done some particle stuff in yt
for enzo data, so I'll take a shot.

One answer is you'll have to add some functions to
yt/utilities/hdf5_light_reader.c that can select out particles from an
ellipsoid. You can see how it's done for a cylinder, sphere, or
right-angled region already. You'll also have to make some
commensurate changes in the python interface such that these new
functions are called, but for the time being you can study that .c
file and decide if that's the route you want to go down, since that is
the hardest part!

Another answer is to make your changes in yt-3, which is still under
heavy development. In particular, it is using a different model of how
to read in and process data, which may make your life easier. I am not
knowledgable enough to help you with that, you will have to wait on
Matt for this.

A more hacky route is to kludge it for the time being and do something
like this.
- For the ellipsoid create a sphere that contains it entirely.
- Get the particle positions from the sphere.
- Apply the math you use to select cells to these particle positions,
keeping particles that are inside. With this you can create a mask
which you can use to apply to other fields (e.g.
big_enough_sphere['ParticleMassMsun'][mask])

Good luck!

--
Stephen Skory
s at skory.us
http://stephenskory.com/
510.621.3687 (google voice)



More information about the yt-dev mailing list