34 Kokkos::Profiling::pushRegion(
35 "FiniteElement::ComputeBoxTargetPointIntersection");
36 if (transfer.nbSpaceDimElements == 0) {
40 using MemorySpace =
typename ExecSpace::memory_space;
41 using Box = ArborX::Box<Dim, coordinates_t>;
45 Kokkos::Profiling::pushRegion(
46 "copy pointers and allocate auxiliary data structures");
51 auto targetPointsPtr = transfer.targetPoints;
60 Kokkos::Profiling::popRegion();
62 Kokkos::Profiling::pushRegion(
63 "Allocate auxiliary data structures for box-point intersection");
64 Kokkos::View<Box *, MemorySpace>
bboxes(
65 Kokkos::view_alloc(
execSpace, Kokkos::WithoutInitializing,
66 "Boundary boxes of elements"),
67 transfer.nbSpaceDimElements);
68 Kokkos::View<int *, MemorySpace> parents(
69 Kokkos::view_alloc(
execSpace, Kokkos::WithoutInitializing,
71 transfer.nbSpaceDimElements);
72 Kokkos::Profiling::popRegion();
100 "Compute element bounding boxes functor",
101 Kokkos::RangePolicy(
execSpace, 0, transfer.nbElems),
103 ArborX::Point<Dim, coordinates_t>
pmin;
104 ArborX::Point<Dim, coordinates_t>
pmax;
105 for (
int d = 0;
d <
Dim; ++
d) {
107 pmax[
d] = -9999999.0;
110 for (
int d = 0;
d <
Dim; ++
d) {
119 ArborX::BoundingVolumeHierarchy
bvhBoxes(
127 Kokkos::Profiling::popRegion();