We present a suite of algorithms for migrating Lagrangian data between processors in a
parallel environment when the underlying mesh is Eulerian. The collection of algorithms
applies to both uniform and adaptive meshes. The algorithms are implemented in, and distributed
with, FLASH, a publicly available multiphysics simulation code. Migrating
Lagrangian data on an Eulerian mesh is non-trivial because the Eulerian grid points are spatially
fixed whereas Lagrangian entities move with the flow of a simulation. Thus, the
movement of Lagrangian data cannot use the data migration methods associated with
the Eulerian mesh. Additionally, when the mesh is adaptive, as the simulation progresses
the grid resolution changes. The resulting regridding process can cause complex Lagrangian
data migration.
The algorithms presented in this paper describe Lagrangian data movement on a static
uniform mesh and on an adaptive octree based block-structured mesh. Some of the algorithms
are general enough to be applicable to any block structured mesh, while some others
exploit the meta-data and structure of PARAMESH, the adaptive mesh refinement
(AMR) package used in FLASH. We also present an analysis of the algorithms’ comparative
performances in different parallel environments, and different flow characteristics.