[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