[net.space] many body calculations

lew@ihuxr.UUCP (06/13/83)

There have been several inquiries about calculating planetary movements
and many-body behavior. I not sure if this fills the bill, but you can
get excellent results with a straight-forward application of "F=ma",
combined with "F=m1*m2/r^2" (vector versions, of course). One simple
trick which increases the accuracy tremendously is the following.

Calculate the positions of the bodies half a time unit from the current
time (ignoring acceleration), and use these positions to calculate the
gravitational forces during that time unit. This comes much nearer to
providing the correct accelerations than using the positions at the
beginning of the time interval.

When I was a TA at Lehigh in the introductory physics course,
the students were given this method to calculate one period
of a planet, given an initial position and velocity. I computed the
orbital elements and compared them with the simulation and found a
really fine agreement with a few hundred time units per orbit.

I later used this method to estimate the magnitude of Jupiter's
perturbation of Mars's orbit. My preliminary conclusion was that it was
great enough that it should have defeated Kepler in his "war on Mars".
Maybe Kepler had data points near nodes of the cyclic variation
of the perturbative effects. Anyway, I've never resolved this question
to my own satisfaction.

		Lew Mammel, Jr. ihuxr!lew

karn@eagle.UUCP (06/14/83)

This is a topic that has lately come near and dear to my heart (I'm
doing the kick motor calculations for the amateur satellite Phase 3-B,
due to be launched this Thursday morning). The method which Lew Mammel
describes is known in the literature as the "Cowell Method", which is
just the numerical integration of the second-order differential
equations that describe an orbit.  The beauty of this method is its
simplicity and the ease with which it can include perturbing factors
(other planets, air drag, earth oblateness, etc.)

On the other hand, if the problem you're solving is a good approximation
to two-body motion (i.e., one large body dominates the motion of your
satellite) then you can integrate just the perturbing forces with
respect to a reference two-body orbit, updating the reference orbit
when you get too far away.  This is Encke's method, and it allows larger
step sizes (increasing program speed and reducing accumulated roundoff error)
than Cowell's method.

There are lots of methods for doing the numerical integration that these
models require.  Having no formal training in the subject, I'm only now
becoming familiar with the Runge-Kutta method, which is apparently the
simplest (but not the fastest or most accurate) algorithm available.  It
is, however, a refinement of the method which Lew describes, and is
probably much more accurate.

I'm learning to distrust anything a computer prints out with a decimal
point wedged between digits...

Phil Karn

norton@ihldt.UUCP (06/14/83)

So sorry at my ignorance, but what was Kepler's war on
Mars?
			Mike Norton
			ihldt!norton