We introduce our new binary tree code for neighbour search and gravitational force calculations in an N-particle system. The tree is built in a 'top-down' fashion by 'recursive coordinate bisection' where on each tree level we split the longest side of a cell through its centre of mass. This procedure continues until the average number of particles in the lowest tree level drops below a prescribed value. To calculate the forces on the particles in each lowest-level cell we split the gravitational interaction into a near- and a far-field. Since our main intended applications are smoothed particle hydrodynamic (SPH) simulations, we calculate the near-field by a direct, kernel-smoothed summation, while the far field is evaluated via a Cartesian Taylor expansion up to quadrupole order. Instead of applying the far-field approach for each particle separately, we use another Taylor expansion around the centre of mass of each lowest-level cell to determine the forces at the particle positions. Due to this 'cell-cell interaction' the code performance is close to ? where N is the number of used particles. We describe in detail various technicalities that ensure a low memory footprint and an efficient cache use.In a set of benchmark tests we scrutinize our new tree and compare it to the 'Press tree' that we have previously made ample use of. At a slightly higher force accuracy than the Press tree, our tree turns out to be substantially faster and increasingly more so for larger particle numbers. For four million particles our tree build is faster by a factor of 25 and the time for neighbour search and gravity is reduced by more than a factor of 6. In single processor tests with up to 108 particles we confirm experimentally that the scaling behaviour is close to ?. The current FORTRAN 90 code version is OpenMP-parallel and scales excellently with the processor number (=24) of our test machine.
Monthly Notices of the Royal Astronomical Society
- Pub Date:
- December 2011
- methods: numerical;
- Astrophysics - Instrumentation and Methods for Astrophysics;
- Physics - Computational Physics
- 12 pages, 16 figures, 1 table, accepted for publication in MNRAS on July 28, 2011