3 The BARNES application implements the Barnes-Hut method to simulate the
4 interaction of a system of bodies (N-body problem). A general description
5 of the Barnes-Hut method can be found in:
7 Singh, J. P. Parallel Hierarchical N-body Methods and Their Implications
8 for Multiprocessors. PhD Thesis, Stanford University, February 1993.
10 The SPLASH-2 implementation allows for multiple particles to be stored in
11 each leaf cell of the space partition. A description of this feature
14 Holt, C. and Singh, J. P. Hierarchical N-Body Methods on Shared Address
15 Space Multiprocessors. SIAM Conference on Parallel Processing
16 for Scientific Computing, Feb 1995, to appear.
20 To see how to run the program, please see the comment at the top of the
21 file code.C, or run the application with the "-h" command line option.
22 The input parameters should be placed in a file and redirected to standard
23 input. Of the twelve input parameters, the ones which would normally be
24 varied are the number of particles and the number of processors. If other
25 parameters are changed, these changes should be reported in any results
28 The only compile time option, -DQUADPOLE, controls the use of quadpole
29 interactions during the force computation. For the input parameters
30 provided, the -DQUADPOLE option should not be defined. The constant
31 MAX_BODIES_PER_LEAF defines the maximum number of particles per leaf
32 cell in the tree. This constant also affects the parameter "fleaves" in
33 the input file, which controls how many leaf cells space is allocated for.
34 The higher the value of MAX_BODIES_PER_LEAF, the lower fleaves should be.
35 Both these parameters should be kept at their default values for base
36 SPLASH-2 runs. If changes are made, they should be reported in any results
41 The base problem size for an upto-64 processor machine is 16384 particles.
42 For this many particles, you can use the input file provided (and change
43 only the number of processors).
47 Our "POSSIBLE ENHANCEMENT" comments in the source code tell where one
48 might want to distribute data and how. Data distribution, however, does
49 not make much difference to performance on the Stanford DASH