A distributed (MPI-parallel) axis-aligned bounding box volume hierarchy. More...
#include <cassert>#include <vector>#include <array>#include <span>#include <memory>#include <algorithm>#include <type_traits>#include <utility>#include <dune/common/fvector.hh>#include <dune/common/exceptions.hh>#include <dumux/geometry/boundingboxgeometry.hh>#include <dumux/geometry/boundingboxtree.hh>#include <dumux/geometry/geometricentityset.hh>Go to the source code of this file.
Each process builds a sequential Dumux::BoundingBoxTree over its local partition of a distributed Dumux::GeometricEntitySet. The bounding box of each local tree's root is communicated to all processes (allgather) and a second, replicated bounding box tree (the "process tree") is built over these per-process boxes. This upper level of the hierarchy is identical on all processes and lets each process determine, with a logarithmic query and without any further communication, which remote partitions a query might collide with. The leaves of the process tree are the partitions, i.e. the process-local trees, so the whole structure is a tree of trees.
Classes | |
| class | Dumux::DistributedBoundingBoxTree< GeometricEntitySet > |
| An MPI-parallel axis-aligned bounding box volume tree. More... | |
Namespaces | |
| namespace | Dumux |