![]() |
Peano
|
The particles are stored following the dual tree storage paradigm.
We hold the whole spacetree with all of its levels. This is similar to holding a cascade of finer and finer, ragged Cartesian meshes. First, each particle is assigned into the grid level within this tree that can just accommodate its search diameter within one cell lenght. Particles therefore can reside on different mesh levels. After that, we store each particle in the vertex closest to its centre.
These two conventions effectively span a dual grid over the spacetree if you think of particles to be stored within cells: Just impose a grid on top of your actual grid which is shifted by half a mesh lenght. Particles are contained within these shifted grid's cells. Alternatively, you can think of the vertices of the tree spanning a Voronoi diagram, and particles are then held by the cells of this Voronoi diagram.
Our storage is vertex-oriented whereas most particle literature stores particles within cells. If we think of a dual multiscale mesh, i.e. a mesh that is shifed by \(h/2\) alon each coordinate axis, then Peano's approach also works with cells. Such shifted meshes are often called dual meshes and I therefore speak of a dual tree. There are other notions of dual trees in literature, where two trees are used to construct the interaction sets. We do not follow this naming convention.