Finding Neighbors in a Forest: A b-tree for Smoothed Particle Hydrodynamics Simulations

10/07/2019
by   Aurélien Cavelan, et al.
0

Finding the exact close neighbors of each fluid element in mesh-free computational hydrodynamical methods, such as the Smoothed Particle Hydrodynamics (SPH), often becomes a main bottleneck for scaling their performance beyond a few million fluid elements per computing node. Tree structures are particularly suitable for SPH simulation codes, which rely on finding the exact close neighbors of each fluid element (or SPH particle). In this work we present a novel tree structure, named b-tree, which features an adaptive branching factor to reduce the depth of the neighbor search. Depending on the particle spatial distribution, finding neighbors using has an asymptotic best case complexity of O(n), as opposed to O(n log n) for other classical tree structures such as octrees and quadtrees. We also present the proposed tree structure as well as the algorithms to build it and to find the exact close neighbors of all particles. We assess the scalability of the proposed tree-based algorithms through an extensive set of performance experiments in a shared-memory system. Results show that b-tree is up to 12× faster for building the tree and up to 1.6× faster for finding the exact neighbors of all particles when compared to its octree form. Moreover, we apply b-tree to a SPH code and show its usefulness over the existing octree implementation, where b-tree is up to 5× faster for finding the exact close neighbors compared to the legacy code.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
04/23/2019

Detection of Silent Data Corruptions in Smoothed Particle Hydrodynamics Simulations

Silent data corruptions (SDCs) hinder the correctness of long-running sc...
research
07/12/2023

Cornerstone: Octree Construction Algorithms for Scalable Particle Simulations

This paper presents an octree construction method, called Cornerstone, t...
research
04/17/2018

An Efficient SIMD Implementation of Pseudo-Verlet Lists for Neighbour Interactions in Particle-Based Codes

In particle-based simulations, neighbour finding (i.e finding pairs of p...
research
11/17/2020

Falling balls in a viscous fluid with contact: Comparing numerical simulations with experimental data

We evaluate a number of different finite element approaches for fluid-st...
research
03/22/2018

Parallel tree algorithms for AMR and non-standard data access

We introduce several parallel algorithms operating on a distributed fore...
research
06/07/2021

Deterministic Iteratively Built KD-Tree with KNN Search for Exact Applications

K-Nearest Neighbors (KNN) search is a fundamental algorithm in artificia...

Please sign up or login with your details

Forgot password? Click here to reset