A cost optimal parallel algorithm for computing force field in N-body simulations on a CREW PRAM

Research output: Contribution to journalArticlepeer-review

2 Scopus citations


We consider the following force field computation problem: given a cluster of n particles in three-dimensional space, compute the force exerted on each particle by the other particles. Depending on different applications, the pairwise interaction could be either gravitational or Lennard-Jones. In both cases, the force between two particles vanishes as the distance between them approaches to infinity. Since there are n(n-1)/2 pairs, direct method requires Θ(n2) time for force evaluation, which is very expensive for astronomical simulations. In 1985 and 1986, two famous Θ(nlogn) time hierarchical tree algorithms were published by Appel (SIAM J. Sci. Statist. Comput. 6 (1985) 85-103) and by Barnes and Hut (Nature, 324 (1980) 446 - 449), respectively. In a recent paper, we presented a linear time algorithm which builds the oct tree bottom-up and showed that Appel's algorithm can be implemented in Θ(n) sequential time. In this paper, we present an algorithm which computes the force field in Θ(logn) time on a Θ(n/log n) processor CREW PRAM. A key to this optimal parallel algorithm is replacing a recursive top-down force calculation procedure of Appel by an equivalent non-recursive bottom-up procedure. Our parallel algorithm also yields a new Θ(n) time-sequential algorithm for force field computation.

Original languageEnglish (US)
Pages (from-to)555-568
Number of pages14
JournalTheoretical Computer Science
Issue number1-2
StatePublished - 2001
Externally publishedYes


  • Cost optimal algorithms
  • Force field evaluation
  • N-body simulations
  • PRAM
  • Spatial tree algorithms

ASJC Scopus subject areas

  • Theoretical Computer Science
  • General Computer Science


Dive into the research topics of 'A cost optimal parallel algorithm for computing force field in N-body simulations on a CREW PRAM'. Together they form a unique fingerprint.

Cite this