PARAMESH logically organizes its blocks in an octree structure, each branch of the tree terminates in 2d leaf blocks, where
d is dimension of the mesh. Fig. 2 shows an example of a 2D mesh with the corresponding octree, where all blocks except 2,
6, 10 and 14 are leaf blocks. In FLASH, a simulation only evolves on the leaf blocks. As the particles migrate, their data structures
must move to be continually associated with only the leaf blocks. For example, when the mesh is refined, new higher
resolution leaf blocks are created. When the mesh is derefined, the lowest level leaf blocks go out of existence and the parents
of the old leaf blocks become the new leaf blocks. We refer to the mesh being refined or derefined as regridding. Every
time the mesh regrids each particle is checked to make sure it is on a leaf block. If it is not, it is moved.