3-Body Figure 8 orbit questions.

Discussion in 'Physics & Math' started by Dinosaur, Mar 15, 2006.

  1. Dinosaur Rational Skeptic Valued Senior Member

    Messages:
    4,885
    Some time ago, I discovered some articles describing a 3-Body gravitational system in whihc the three objects chase each other around a figure-8 path.

    The discoverers of this interesting orbit were theoreticians who worked out initial conditions for (I think) one gram masses, using a gravitational constant exactly equal to one.

    I wanted to simulate this orbit with solar or planetary masses and the actual gravitational constant. After a lot of experimentation, I gave up. I did modify the simulation software to use one as the gravitaional constant, allowing me to verify that the initial conditions were valid.

    If the system with one gram masses and a bogus gravitiaonal constant works, there should be similar systems using the actual gravitaitonal constant and larger masses.

    Does anybody know how to scale such a system? The following URL's provide information about this 3-body system.
     
  2. Google AdSense Guest Advertisement



    to hide all adverts.
  3. DaleSpam TANSTAAFL Registered Senior Member

    Messages:
    1,723
    You can't just scale your masses, you also have to scale the velocities and distances. In SI units of distance, velocity, and mass you have:

    G = 6.673 10^-11 m(m/s)^2/kg = D V^2/M

    Suppose we want to pick a given unit for Mass (e.g. 10^25 kg) and Velocity (e.g. 10^5 m/s), we can then solve for the required unit of Distance in order to have a Gravitational constant of 1.

    D = G M/V^2 = (6.673 10^-11 m(m/s)^2/kg) (10^25 kg)/(10^5 m/s)^2 = 66730 m

    I'm not 100% sure it will work, but try it out.

    -Dale
     
  4. Google AdSense Guest Advertisement



    to hide all adverts.
  5. Dinosaur Rational Skeptic Valued Senior Member

    Messages:
    4,885
    DaleSpam: I am hoping for a set of initial conditions which result in a figure 8 orbit using the actual Newtonian gravitational constant and solar or planetary masses. So far, I have not been able to work out such initial conditions.

    I was hoping somebody else might know how to start with the system using one gram masses & a unit gravitational constant and derive a more realtistic system.

    I assume that such a system is possible, although I would never expect to find it in the real universe. Even if it existed, I am sure that chaotic effects would cause it to morph into something else.

    BTW: I used Visual Basic to create a gravitational simulation program. All the symmetirc systems fell prey to chaos. I particularly liked what I called Yo-Yo systems: Three or more massive stars chasing each other around a circular or elliptical path, while a planetary size object moves up and down in a straight line perpendicular to the plane containing the massive objects.
     
  6. Google AdSense Guest Advertisement



    to hide all adverts.
  7. DaleSpam TANSTAAFL Registered Senior Member

    Messages:
    1,723
    I think you can just take the initial conditions given in that second link, use the SI number for G, multiply the masses by 10^25 (kg), multiply the initial velocities by 10^5 (m/s), and multiply the initial distances by 66730 (m). Did you try that? If it didn't work then describe what went wrong.

    -Dale
     
  8. Dinosaur Rational Skeptic Valued Senior Member

    Messages:
    4,885
    DaleSpam: I will ressurect my gravity simulation software and try your suggestion.

    A few years ago I tried several similar scenarios to no avail.

    I think I considered how to change the units for G to make it equal to one and then used a reverse transformation on the initial conditions.

    I think the problem involves balancing out the angular momentum of the entire system, which might require some counter intuitive scaling factors.

    The problem involves changing initial positions, initial velocities, and the masses.

    Note that increasing the scale of the positions is a linear transformation, while the forces are effected by the inverse square of the distances. Note also that the forces acting between equal mass objects increase relative to the square of the individual masses.

    Changing masses & distances might also require changing the direction of the velocity vectors as well as the speed.

    It is a tricky problem, whihc is perhaps the reason that the discoverers of the Figure 8 orbit used one gram masses and a one unit graviitaional constant. I beleive they used some unpublished theoretical analysis to get the initial conditions. The algorithms used might be very difficult to calculate without some simplified units.
     
  9. CANGAS Registered Senior Member

    Messages:
    1,612
    Way back in the year number one, in fresh man Physics I was explained to that more than two bodies in an orbital situation is not rigorously calculculabe, but could only be resolved by successive approximations, sometimes called " trial and error ".

    I have been told that every time a 2+ body computer program is ran to "trial and error", it regurgitites a different result.
     
  10. Dinosaur Rational Skeptic Valued Senior Member

    Messages:
    4,885
    Cangas: Either you do not remember the details or your physics teacher misled you.

    For n > 2 There is no analytical solution for a general n-body gravitational system. However, there are many specific n-body problems which do have analytic solutions. I believe that the figure 8 path for three objects is an example of such a system.

    BTW: Even though the figure 8 path is theoretically stable, round off errors might cause a real world example to deteriorate, which might be the reason the developers used a gravitational constant of one and one gram masses. I know that numerical approximation methods applied to this path would result in chaotic deterioration, in spite of the simplified values.

    Also, it should be noted that the numerical approximation methods used for gravitational systems are not successive approximation methods. Successive approximation methods are different from trial and error methods.

    BTW: Computer programs for square root & polynomial roots are examples of successive approximation methods.

    It is an exaggeration to say the you get a different result every time you do a numerical analysis of an n-body gravitational system. For most gravitational systems, the methods used are very reliable if you do not attempt to predict too far into the future or the past. Some extremely chaotic systems have been discovered, but even for these you get the same results using the same computer program and the same precision for the calculations.
     
  11. CANGAS Registered Senior Member

    Messages:
    1,612
    Too far into the past or future being defined as more than one chronon.

    If I am not remembering the issue correctly and if Prof told me wrong, it should be very easy for you to write an equation which describes the orbits of three or more objects.

    Why then go to the trouble of having to dig up a trial and error process, or a successive approximation process?

    Delight us with your equation in your next post.
     
    Last edited: Mar 18, 2006
  12. shmoe Registred User Registered Senior Member

    Messages:
    524
    See http://www.ams.org/notices/200105/fea-montgomery.pdf

    full reference:

    Montgomery, R. 2001. A new solution to the three body problem. Notices of the American Mathematical Society 48(May):471-481.

    You may have to make an account with the ams site to view the pdf.

    There's no exact solution to the general 3 or higher body case (which may be what your prof was talking about), but some special cases can be handled. Approximations will be handy the rest of the time. I don't claim to really know anything about any of this, I just remember reading that article when it came out.
     
  13. CANGAS Registered Senior Member

    Messages:
    1,612
    shmoe:

    So, there's no exact solution to the general 3 or higher body case? No kidding?

    I wish I had said that.

    Hey! I did say that.
     
  14. D H Some other guy Valued Senior Member

    Messages:
    2,257
    No, you did not. What you said was

    That there are no general solutions is well known. However, this thread is about special-case solutions. The Lagrange points and Klemperer Rosettes are other examples of such special cases.
     
  15. CANGAS Registered Senior Member

    Messages:
    1,612
    D H:

    Thank you for agreeing with my previous post saying that there are no exact solutions.

    You are completely mistaken in your assertion that there are special-case SOLUTIONS.

    If you had taken the care to think of your response, you would have possibly said that there are special-case APPROXIMATIONS.

    And you or anyone else who would have given their response adequate thought could have said that 3-body approximations depend critically upon the order of the computations during the trial and error, or, successive approximation calculations. And, there is no way to predict what the "right" order is. So, every successive run of the trial and error program, using a different order of computations, wiill give a different result.
     
    Last edited: Mar 18, 2006
  16. Dinosaur Rational Skeptic Valued Senior Member

    Messages:
    4,885
    Schmoe: Thanx for posting that very pertinent citation. It saved me the time of hunting for some such. I do not think there is a better one to be found.

    Cangas: You have only a naive understanding of this subject. Read the citation by Schmoe. If you are capable of understanding it, you will discover that they are describing analytic solutions to special n-body problems.

    As agreed to by me, by Schmoe, and by D H, there is no solution to the general n-body problem for n > 2. On this you are correct. However, there are special cases which can be solved analytically. The article cited by Schmoe describes several such special cases and their solutions.

    The n-body gravititational problem is analogous to the problem of finding roots of polynomials of order greater than four. There is no general metod of finding a solution, but there are many special cases which can be solved (EG: x<sup>6</sup> - 64 = 0). There are many complicated polynomials with integer roots which can be solved by factoring

    You do not seem to uinderstand the difference between numerical approximations to differential equations, successive approximation methods, and trial & error methods. These are three very different methods of finding solutions to problems which cannot be solved analytically. The first two methods typically result in very precise (but still approximate) solutions.

    I have no idea of the time interval defined by a chronon. I do know that the numerical methods used for gravitational systems can be used to obtain very accurate approximations over periods of years.

    Except for certain initial conditions known to result in highly chaotic systems, varying the order of computations will not have a serious effect on the precision of the numerical solutions, provided only that the time interval for the process is sufficiently small.
     
  17. CANGAS Registered Senior Member

    Messages:
    1,612
    Dinosaur:

    You are the most naive of all if you believe that 1+1=2 has changed in any historic period.

    Anyone who does not know what a chronon is has no business posing as someone knowledgeable about this subject.
     
  18. Dinosaur Rational Skeptic Valued Senior Member

    Messages:
    4,885
    Cangas:When a wise man and a fool argue long enough, it becomes difficult to decide who is the fool. I tried to educate you a bit, but you do not really want to learn.

    I looked up chronon. An interesting time interval, but orders of magnitude shorter than I imagined from your use of it.

    I am quitting while others here know who is the fool.
     
  19. Neddy Bate Valued Senior Member

    Messages:
    2,548
    Awhile ago I started to write a gravitational simulation program just for amusement. I tried a few different four-body systems but eventually one of the bodies would get "gravity-boosted" away at high speed. The system would continue to degenerate into fewer and fewer bodies in this way. Sometimes one of the lost bodies would return after a long while (like a comet) only to be gravity-boosted away again, at even greater speed.

    This excessive gravity-boosting seemed to be violating conservation laws, because all of the bodies would eventually fly off at speeds greater than the initial velocities used to initiate the orbital system. It was puzzling to me because I thought all of the equations looked correct. I used G=1 because I did not think that should make any difference considering that the scale of the masses, distances and initial velocities could be chosen arbitrarily.

    I am still not sure what was happening, but I have seen similar problems with other gravity simulation programs. I think the cause of the problem is rooted in the way the program treats time as discreet intervals instead of continuous (there is no calculus in my program). Perhaps this is what CANGAS is referring to in the term "chronon," I don't know, as I am just an amatuer who dabbled with this for fun.
     
  20. Dinosaur Rational Skeptic Valued Senior Member

    Messages:
    4,885
    Neddy Bate: You might have a bug, incorrect equations, and/or some other problem.

    The symptoms you describe are not strong evidence of an erroneous program. Without some analysis, you are very likely to get a system with those symptoms. You probably treated each object as a point mass. I also did this because it is a nice simplifying assumption without introducing much (if any) error in most systems.

    Without a dominating central mass (similar to our solar system) and some analysis, it is easy to set up conditions for near collisions. A system with a dominant central mass still requires some analysis to avoid the symptoms you describe. Due to the inverse square law, a near collision can result in extreme forces and huge velocities. Even without using point masses, collisions are highly unlikely while the close approaches result in high velocities. An object being sent off to a great distance on an extreme elliptical orbit is not an unexpected occurrence. Even if an object completely escapes, no conservation laws will be violated. The object will slow down as it moves away from the close encounter.

    Also note that for an unsymmetric system not dominated by a central mass, you are likely to start with initial conditions resulting in a net momentum relative to the center of your coordinate system. All objects will move off your screen for such a system. Furthermore, unless you use very small time intervals, chaos is likely to have unexpected effects on almost any system.

    A way to verify your program is to use the true gravitational constant and initial conditions based on our solar system. This is how I gained confidence in my program and determined some intuition relating to time intervals required for reasonable precision. You can find the necessary data in various easily accessible places: A web Search; Various Handbooks; The NY Times World Almanac; et cetera. You need not simulate the entire solar system. The other planets do not have much effect on the results obtained from an Earth, Luna, Sol simulation.

    Since you are currently assigning G to be one, you could try simulating the Figure-8 system. The initial conditions are specified in one of the citations posted to this thread. A successful simulation would not guarantee that your program is error free, but would be strong evidence. Note that you need to verify using a system with some coplanar objects and other objects not close to being in the same plane.

    I initially tested my software with a 5-body system using initial conditions for Earth, Luna, & Sol with Mars & Venus orbiting in planes perpendicular to the plane of Earth’s orbit. The times required for each orbit should closely approximate published values.

    For testing, debugging, and verification of precision I suggest displaying numeric values for positions & velocities as well as allowing the system to be stopped for inspection of the values. I also suggest allowing user interface options for Spherical, Cylindrical, & Cartesian coordinates, even though all the internal computations should be done using Cartesian coordinates.

    Note that Chaos results in most symmetric systems decaying. I simulated systems with 2 to 6 equal mass objects orbiting their common center of gravity in either circular or elliptical orbits. I also simulated similar systems with a yo yo object which moved up & down vertically in a line through the center of gravity of the other objects and perpendicular to the plane of the other objects. These initially symmetric systems always seem to become extremely unsymmetric if simulated long enough. In many such systems, one or more objects got sent far off.
     
  21. Dinosaur Rational Skeptic Valued Senior Member

    Messages:
    4,885
    Neddy Bate: Do not worry about the following:
    There is no way to use a continuous time variable, except when doing calculations for very special systems. Every practical program uses discreet time intervals.

    Obviously, the precision increases as the time interval used decreases. The user should be allowed to control the size of the time slice, since there is a trade off between precision and the time required for the computations. To minimize roundoff errors, I suggest specifying the time interval by using 2<sup>n</sup> intervals per major time interval, where the major interval is an integer number of seconds, minutes, hours, days, whatever depending on the system being simulated. Since the computer uses binary arithmetic, dividing by 2<sup>n</sup> always results in a time slice with no round off error.

    BTW: Experimenting with the solar system can provide some data for use in determining the time interval required for reasonable precision. All the data is readily available. Mercury and various satellites move rapidly in orbits with noticeable curvature, requiring a small time interval. The outer planets move slowly in orbits which have very little curvature, allowing the use of larger time intervals.
     
  22. Neddy Bate Valued Senior Member

    Messages:
    2,548
    Dinosaur,

    I am about to leave for awhile, but I wanted to thank you for the detailed responses, and sound trouble-shooting advice. Perhaps I'll dig up the old program one of these days and see if I can try some of the tests you suggest.

    I did assume point-masses at first, but then later I added a pseudo-radius to each body. The purpose of the pseudo-radius was to prevent the distance variable from going to zero on close encounters. So even though the trajectory of the masses could pass very close to each other, the force calculation (and therefore the acceleration calculation) was limited by the pseudo-radii of the masses. Strangely enough, even this did not prevent the apparently excessive gravity boosts, although it took more time for them to happen, if I recall correctly.

    You say that the runaway masses would slow down eventually -- I had assumed that they were moving faster than "escape velocity" and therefore the distance between the masses was increasing too fast for the gravitational attraction to ever contribute significant acceleration. If you are right, then perhaps my program is not as erroneous as I thought. Side note: I also added an adjustable "friction" setting to force the eventual slow-down of runaway masses. (Using the friction and the pseudo-radius settings I was able to make the orbits last fairly long before eventual chaos/gravity-boostinig set in).

    Yes, you are also correct that I did not use any large, central mass. I did not even try to model Sol, Earth, and Luna. I mostly tried for bizarre spirograph-like patterns with groups of masses orbiting their own barycenter. I included a path-trace feature, and a zoom feature so that I could see everything that happened (even to masses that flew off the screen). The yo-yo effect you describe sounds very interesting. That was really the reason I wanted to program the thing -- I wanted to see what unconventional orbit shapes I could create. Anyway, thanks again for the tips.
     
  23. D H Some other guy Valued Senior Member

    Messages:
    2,257
    Neddy,

    Based on your statement "I am just an amatuer who dabbled with this for fun", I suspect may well be in your integrator (i.e., the algorithm you used to take the model from one time step to the next).

    Most amateurs (and unfortunately, many supposed professionals) represent the states of the planets as position (x) and velocity (v) vectors and propagate with
    • x(t+delta t) = x(t) + v(t)*delta t
    • v(t+delta t) = v(t) + a(t)*delta t
    • a(t) = computed gravitational acceleration at time t

    This is called Euler integration. Euler integration is inherently unstable for any set of equations (the origin in phase space is not the stability region). Even worse, it is a particularly bad technique for propagating central force systems because it does not conserve angular momentum. Some improvements:
    • At a minimum, use a four-stage Runge-Kutta 4 integrator (RK4). This is an old workhorse that numerical researchers despise. But it works quite well in many situations and is very easy to program. Beware though, RK4 with planet states represented as Cartesian position and velocity vectors still does not conserve angular momentum. The problem just takes a lot longer to appear than with simple Euler integration.
    • Add some correction (aka fudge factors) to the propagated state to correct for known errors in the propagation technique.
    • Use an adaptive stepsize technique. These are much harder to program. The propagator uses an internal stepsize that it adjusts until some error estimate gets small enough.
    • Use something other than Cartesian coordinates (e.g., cylindrical coordinates) to represent the states of the planets. I don't know what JPL (http://ssd.jpl.nasa.gov/?horizons)uses to represent states but I do know that it is not Cartesian position and velocity.
     

Share This Page