English | 中文 | Русский | Français
2,598 Posts served
8,347 Conversations started
I could dwell on the best laid plans but I’m starting to sound like a broken record, so rather than wasting any more time, let’s get on with it. We have n bodies we want to manage. Gravitation and the laws of motion give us some basic tools for approaching the solution but there are a few other problems to work out along the way.
![]() |
This defines the gravitational force between two masses, m1 and m2. There’s a fudge factor of proportionality, G, whose value varies depending on the units of measure being used for the calculations. Otherwise, the force between the masses is directly proportional to the product of their masses and inversely proportional to the square of the distance between them.
![]() |
These formulæ define the relationships between position, velocity, acceleration and time of our masses in motion. One more equation completes the set:
![]() |
Operating in a dimensional space, these equations express relationships among vectors, as noted by the arrows. The first equation defines the forces between the bodies (which we’ll simplify to point masses—everything concentrated at one tiny spot—and we’ll ignore collisions). The last equation couples those forces to the accelerations that drive the motions in the middle set.
Next time: body data
| September 9, 2009 9:18 AM PDT
jimdempseyatthecove
|
Robert, This is a good starting point - all bodies fixed integraton steps between bodies, integration technique linear. You do mention "This is a better or worse approximation depending on the size of the steps and the severity of curvature..." When body counts are large and when few bodies are close but many more are far you can (should consider to) change the integration technique. Using a linear integration technique you can integrate sharp curvature influencing bodies using smaller steps and integrate shallow curvature influencing bodies using larger steps. As an alternate technique you can use a curvilinear integration technique (a hybrid between a modal model and finite step model). This is harder to program but it reduces the number of computations. Example: Assume you are modeling our solar system. Consider Jupiter, with 63 moons, as a distinct computational enity from say Earth and it's one moon. Jupiter and its 63 moons can be represented as a single aggrigate object with a center of mass (barycenter) that exerts a force upon other solar system bodies. You can reduce the number of computational entities for the Jupiter system from 64 to 1 when computing interactions with bodies further away than some measure (choice of the modeler) from the Jupiter system. These interactions can be computed with a larger integration step size (since the curvature of inluence has a rather large bend radius). When computing the Jupiter system (including artificial satellites), then within that system, you would use smaller integration step size and/or an integration technique that computes the "relative to system barycenter" curvature of the body trajectories then add in the external to Jupiter system external forces to come up with the net position for each body (only when interested in position of individual body). Jim Dempsey |

Detlef
nice approach, pretty straight forward so far.
Lots of times I have asked myself how somebody was able to calculate the planet's positions, say, 5 million years from now.
You mentioned curvature. I guess in planet's motions that's not a big issue?
Is that the reason why a stepwise linear approach can give that kind of result?
I think, error estimates are crucial to this kind of calculations.
I wonder if you could elaborate a little on that.
All the best to your project.
Detlef