Arborx::Sphere support + different kind of geometry for nodes/leaves
Created by: JulienLoiseau
I am working on SPH simulations using ArborX. This requires to use particles represented by a sphere and the interactions are between sphere-sphere.
For now in ArborX, the following is not currently possible:
std::vector<ArborX::Sphere> ents;
ArborX::BVH<Kokkos::HostSpace> bvh{Kokkos::DefaultHostExecutionSpace{},
ents};
The type must decay to ArborX::Box or ArborX::Point. My understanding is the whole tree structure is based on the same geometry (nodes+leaves) and boxes are way faster for the searches than spheres.
In my case all my objects are spheres, so I would need to transform them into boxes and then refine the search afterwise to see the ones falling into this sphere-sphere interaction.
Would it be possible to:
- Add support for sphere natively in the tree (sphere-sphere interaction might increase the number of interactions during the traversal but are fast to compute)
- Have different types of geometry for the nodes and the leaves in the tree? They could also be both specified by the user?
Thank you.