I've been working on a crude N-body simulator which allows N bodies of equal masse​s to interact gravitationally in 2 dimensions. My goal is to model the formation of Solar System.

Each body is modeled as a circle with a radius as a function of its mass, in such a way that all bodies have the same density.

When two bodies collide, i.e their radii overlap, they stick together inelastically (but momentum is conserved).

I have initialized the simulation with N=300 particles, and initial positions and velocties randomized (all positions bounded to a certain rectangular window, all velocties of the same modulus).

As the simulation progresses, particles move about, collide and form larger particles, and after some time the system appears to reach a stable state in which the number of particles is very few, usually between 2-5 (the most common case is a planet-sun system)

I've taken care of the efficiency of the code (by implementing Barnes-Hut). However I am now concerning myself with the accuracy/realism, especially with respect to two issues:

I. I have read online about collisional and collisionless systems. Apparently a small globular star cluster is collisional, but the stars in a galaxy or dark matter particles in a galazy are collisionless. Apparently whether the system is collisional or not is related to the "two-body relaxation time", which I don't understand either.

  • Is the formation of a Solar System a collisional problem? Is the relaxation time relevant for my simulation? How would this change if I wanted to model the evolution of a galaxy?


Please see this question: How to model Solar System formation accurately and realistically, Part 2

(I've broken up this post into two separate SE questions because it was too long.)

-Finally, any other things I should be considering in my simulation/ general suggestions?


1 Answer 1


Your system is collisional.

The collisional/collisionless distinction refers to how the interaction forces are evaluated. If the particles interact directly (i.e. via a two-body force) with their neighbouring particles then the system is collisional.

In a collisionless system, on the other hand, each particle essentially moves through a mean field that lacks the fine-grained two-body interactions.

Collisional simulations scale as ${\cal{O}}(n^2)$ or, with Barnes-Hut, as ${\cal{O}}(n\log n)$. Whereas collisionless typically scale as ${\cal{O}}(n)$ (although that may depend on how the forces are evaluated).

The relaxation time refers to the time-scale required for each particle to essentially lose 'memory' of its starting configuration (position and velocity). In a collisionless system, a particle may spiral around a mean field in a very predictable way without much change in its kinetic energy or orbital radius. The evolution is therefore very sensitive to the configuration that you start the system in. In a collisional system, however, particles will usually interact quickly and deflect, aggregate, change orbital momentum, etc. So they 'relax' quickly and so your initial configuration is almost irrelevant.

In fact, your system will relax quicker than it reaches a stable configuration, so it is not a matter that you need to be concerned with.

Since you're concerned with 'accuracy', my first question would be: how are you integrating the equations of motion? Euler? Verlet?


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.