Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

N body solver (is this right?)

  1. Sep 9, 2014 #1
    the force field trajectory calculator worked pretty good, so i decided to step it up and solve the famous n body problem.

    i used rk4 to solve it, and to verify my solution i calculate the work done on each particle and the kinetic energy of each particle at the beginning and end.
    it appears to converge pretty nicely when one object is very massive compared to the other, but i notice some strange behavior otherwise. for one, i always thought a 2 body system would be two elipses sharing a focus (barycenter), but instead i get all kinds of different shapes.
    also the energy diverges in more "dynamic" systems.
    How does one calculate the "total conserved energy" of a system? (or analogous conserved quantities such as angular momentum) i had been just using the work energy theorem, (line integral of force equals change in kinetic energy) but im not sure if that still holds when the force depends on the location of an object, that is also experiencing a force due to the same object.
    do these pictures qualitatively look like a 2 body system?

    edit: in each of these the blue particles initial velocity is 0, and the black particles initial velocity is non zero. the step size is the same, but the mass of the black particle is different. the more "chaotic" looking patterns have a larger mass set for the black particle(up to where the masses are equal)

    Attached Files:

    Last edited: Sep 9, 2014
  2. jcsd
  3. Sep 10, 2014 #2
    If the total initial momentum isn't zero, the center of mass will keep moving, and you get spirals instead of ellipses. You'll need to set [itex] v_1 = - \frac {m_2 }{m_1} v_2 [/itex] with 2 bodies to get a momentum of 0.
  4. Sep 10, 2014 #3
    thanks, i had a feeling the system as a whole might be undergoing some kind of translational motion. as far as the divergences go i might just be expecting too much from a numerical method.

    Attached Files:

Share this great discussion with others via Reddit, Google+, Twitter, or Facebook