[yt-dev] yt for lagrangian hydro

Matt Terry matt.terry at gmail.com
Wed Aug 8 10:37:55 PDT 2012


The basic ideas is that you have a simple x,y,z mesh with logical
indexes i,j,k.  The Lagrangian part is that the spatial grid moves
with the fluid flow.  Logically Cartisian meas that an i, j, k index
makes sense.  If you make several of these meshes, you can stitch them
together to make a mesh where a global i, j, no longer makes sense.
My mesh looks like this:

http://visitusers.org/images/4/44/Enhanced_reduced.jpg

The boundary between blocks 012 has reduced connectivity.  The 12345
boundary has enhanced connectivity.

> 1.  By "logically rectangular", do you mean that each computational element
> has 6 neighbors that share a face, but the element itself can have a
> deformed shape?

Yes.  In 3D cartesian, each zone (volume defined by 8 mesh mesh
vertexes) shares faces with 6 other zones.  The zones are generally
strangely shaped.  Aspect ratios (assuming a vaguely rectangular
shape) can of order dy/dx ~ 100.  Generally smaller, but can be
larger.

> 2.  Does reduced/enhanced connectivity zones mean one element can share a
> face with, say, 4 elements?  This would make it behave a bit like and
> adaptive mesh refinement setup, which shouldn't be too bad.

A single zone (element?) will always have 6 neighbors, however more
(or less) than 6 zones may share a vertex.

> If the shapes of the elements change, I think it might be a little bit
> tricky, but if they are all geometrically rectangular then it would be
> easier.

Geometrically rectangular zones are novel.

> Another big determinant of how easy this will be to implement is what the
> data format looks like.  Is there a method paper or other reference that
> explains a bit more of the code/data structure?

Data structures are very simple.  Each block is effectively a 3d
numpy.ndarray.  On disk, each block is contained within a single
binary file.  Multiple blocks may reside in the same file.

Hope that helps.  Happy to answer more questions.

-matt



More information about the yt-dev mailing list