version 3.11-dev
Loading...
Searching...
No Matches
distributedboundingboxtree.hh File Reference

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.

Description

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