Summary of the rules and requirements

The code should

  • Read in mass, position and velocity from a provided input file
  • Adopt fixed and shared time step
  • Brute O(N2) Newtonian force calculation
  • Integration of the position vector using the predictor-corrector leapfrog algorithm
  • Check energy conservation
  • Dump final snapshot
Submitting your code

The code can be submitted by sending the full source code to us by email: .
Your submission should include a README file which contains:

  • The name of the code
  • The date of submission
  • The author(s) and affiliation(s)
  • The license under which the code is submitted (if any)
  • Language used and compiler specified
  • Operating system used to compile and run the code
  • Hardware used to compile and run the code
  • specify the initial conditions used for timing
  • The adopted time step
  • A table with some performance information

For example, the README file for the in March 2010 submitted C++ version reads:

Date: March 2010
Author: Simon Portegies Zwart (Sterrewacht Leiden,

Integration scheme: Predictor-corrector leapfrog
Compiler: g++ 4.4.1 with -O4
Operating system: Ubuntu Linux 9.1 (2.6.31-19-generic)
Hardware: Intel Core 2 Duo CPU L9400 1.86GHz

Initial conditions: 128 particles Plummer distribution of equal mass
Time step: constant and shared 1.e-3 N-body unit

0.1 0.070 3.0e-10
1.0 0.390 -0.09872493
10 3.65 -36.3387
100 36.07 -40.9759

All codes are submitted free of license, or under the GPL license. This should be indicated in the accompanied README file. All submissions with another license will be rejected.