|
-
Jul 5th, 2000, 07:39 PM
#1
Thread Starter
Frenzied Member
I have an application which computes positions & velocities of objects moving under the influence of gravity. I believe the math and code are both correct, but cannot be certain due to lack of data about known systems. Some of the systems I have simulated behave in a manner contrary to my intuition. I am not sure whether it is my intuition or my application which is wrong.
I have been simulating a system which consists of 3 massive stars (20 solar masses each). They are initially in the XY-Plane 120 degrees apart with radial velocities such that the 3 stars have almost circular orbits around the origin & stay in the XY-Plane. This system acts as I would expect, but the following seem counter-intuitive to me.
I added a 4th star (5 solar masses) at the origin, with a fairly high velocity parallel to Z-Axis. I expected the long term behavior of all 4 objects to be symmetric relative to the XY-Plane. Instead, the 3 circling objects moved off the XY-Plane (in direction of the 4th object's velocity vector), never to return. They seemed to steal momentum from the 4th object.
Next, I next started the 4th object on Z-Axis fairly far from the origin with no initial velocity. Before simulating either system, I expected these systems to be very similar in long term behavior. Id est: I expected the two systems to differ in their inital configuation, but otherwise seem to be the same over a long period of virtual time. In the second system, the 3 circling objects moved off the XY-plane, but never as far off as the above system. In both systems, the 4th object oscillated along the Z-Axis, but not symmetrically with respect to XY-Plane. I have not tried to check symmetry of the 4th object relative to the plane contaning the other 3 objects.
Can somebody with a good knowledge of the pertinent laws of physics give me an opinion about the above. Meanwhile, I am checking my code and simulating other systems.
Thanx for any help/advice you can give.
Live long & prosper.
The Dinosaur from prehistoric era prior to computers.
Eschew obfuscation!
If a billion people believe a foolish idea, it is still a foolish idea!
VB.net 2010 Express
64Bit & 32Bit Windows 7 & Windows XP. I run 4 operating systems on a single PC.
-
Jul 5th, 2000, 08:52 PM
#2
Frenzied Member
Congratulate yourself, You've just had your first brush with chaos theory.
This is known as the 3 body problem, The Idea is in simulating the motion of 3 or more bodies there is no function that can define the positions of the bodies at time t. (eg you can calculate their positions like you are doing but there isn't a formula where you can put in the start positions and the time and get the positions)
In Some cases you can (eg 3 bodies of equal masses on a single plane) but in most cases their orbits are completley unpredictable.
this is probably what's happening.
a good way to test if this is what's happening is to run 2 instances of your app in parrallel, with all four bodies in exactly the same starting positions, exept one which starts in just a slightly different position. If this is a chaotic system then the orbits will be pretty much the same at the start but as time goes on they become more and more different, until they are completley unrelated.
This sounds like a physics project, If it is then good luck, if you include the chaotic stuff then you should get lots of bonus points as long as there are no errors in your code. Look up the 3 body problem, chaos theory etc.
hope this helps
-
Jul 5th, 2000, 10:44 PM
#3
Hyperactive Member
wow
i had no clue what u 2 said in those posts ...
-
Jul 5th, 2000, 10:48 PM
#4
Frenzied Member
he he
What's happening is that guv is modelling the orbits of planets around each other, Because of some strange effects of chaos theory he's getting wildly unpredictable results.
So I'm trying to explain why.
-
Jul 6th, 2000, 04:41 AM
#5
Fanatic Member
Sam, You make it sound like this can't be done!
While there is no simple equation that you can just stick in a time variable T and have it tell you the answer you can calculate the force exerted on each object by each other object, increment the time period, update the positions of the objects based on mass, velocity and force, then loop.
It's just like applying permutations to a system. It's not easy, particularly correctly ballancing time increments. (as most programmers speed animation up by increasing the time increment, but in this case that would effect the velocity vs force balence.
But this is the sort of problems that computers do well. (and I do poorly )
Paul Dwyer 
Network Engineer
Aussie In Tokyo
Using Powerbasic 6 & VB6 SP4 (Please also add your VB Version to your signature!)
-
Jul 6th, 2000, 03:12 PM
#6
Frenzied Member
It can be calculated using recursive formulae, but you need a time difference between the position now and the next step, the larger the time interval the less acurate the results, and as it's a chaotic system and sensitive to minor errors no matter how small you make the time interval there will always be a small error which will lead to wrong results later on, this wasn't the point I'm making however, I was trying to explain why the bodies in his simulation had unpredictable orbits.
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|