We introduce an algorithm that performs a one-directional mesh overset of a parallel forest of octrees with another distributed mesh of unrelated partition. The forest mesh consists of several adaptively refined octrees. Individual smooth mappings for every tree allow to represent a broad range of geometric domains. The other mesh is generic and defines a distributed set of query points, e.g. stemming from a quadrature rule applied to each cell. We face the problem of finding data for all queries in the remote forest. The forest is partitioned according to its natural Morton ordering. Thus, the partition boundaries can be encoded globally with one Morton index per process, which allows for precise, communication-free searching of the queries in the partition geometry. This is necessary to organize non-blocking communication of the queries to the relevant processes only. In a subsequent local search of the forest, we process the incoming queries and return the data of interest to each query's origin. The algorithm can be generalized, for example to load balancing of the overset, or adaptive refinement of the meshes around their intersection area. In 2D and 3D example scenarios we demonstrate the algorithm's performance and scalability to 12,288 processes.
翻译:暂无翻译