- #1
Joshua Benabou
I've been working on a crude N-body simulator which allows N bodies of equal masses 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 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?**
-------------------------------------------------------------------------------
**II.**
I've read online about "gravitational softening" whereby Newton's law $F=\frac{Gm_1m_2}{r^2}$ is replaced by $F=\frac{Gm_1m_2}{r^2+\epsilon^2}$ for some constant $\epsilon$ which is small compared to the distances involved in the simulation.
As I understand it, the purpose is to bound errors in the simulation due to close encounters between bodies: if $r$ is small, the accelerations are large, but since the time resolution is finite, the error grows.
I've tested the effect of softening for $N=3$ particles intialized at the vertices of an equilateral triangle with equal speeds (Lagrange's peridic solution to the N-body problem). The configuration is supposed to be symmetric, with the particles moving on ellipses which form $120$ degree angles with each other and share a common focus. But since all three particles come very close together at their perigees, errors grow and eventually the symmetry collapses and the planets go haywire.
Introducing softening didn't seem to make much of a difference. It seems to prevent large-angle scattering, but it leads to errors which grow overtime and destroy the symmetry of the Lagrange configuration anyways.
Now I'm not sure relevant this test is for my solar system sim because it is almost impossible to have close encounter of three particles simultaneously.
My question is thus:
-**What is the advantage of gravitational softening? Doesn't it create errors which grow overtime? Should I be using it in my simulation?**
------------------------------------------
-**Finally, any other things I should be considering in my simulation/ general suggestions?**
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 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?**
-------------------------------------------------------------------------------
**II.**
I've read online about "gravitational softening" whereby Newton's law $F=\frac{Gm_1m_2}{r^2}$ is replaced by $F=\frac{Gm_1m_2}{r^2+\epsilon^2}$ for some constant $\epsilon$ which is small compared to the distances involved in the simulation.
As I understand it, the purpose is to bound errors in the simulation due to close encounters between bodies: if $r$ is small, the accelerations are large, but since the time resolution is finite, the error grows.
I've tested the effect of softening for $N=3$ particles intialized at the vertices of an equilateral triangle with equal speeds (Lagrange's peridic solution to the N-body problem). The configuration is supposed to be symmetric, with the particles moving on ellipses which form $120$ degree angles with each other and share a common focus. But since all three particles come very close together at their perigees, errors grow and eventually the symmetry collapses and the planets go haywire.
Introducing softening didn't seem to make much of a difference. It seems to prevent large-angle scattering, but it leads to errors which grow overtime and destroy the symmetry of the Lagrange configuration anyways.
Now I'm not sure relevant this test is for my solar system sim because it is almost impossible to have close encounter of three particles simultaneously.
My question is thus:
-**What is the advantage of gravitational softening? Doesn't it create errors which grow overtime? Should I be using it in my simulation?**
------------------------------------------
-**Finally, any other things I should be considering in my simulation/ general suggestions?**