Excel Orbit Simulator Project
by David Fox


General Description

This Excel program simulates orbital motion, by propagating iterated straight-line motion over short time intervals, from an initial position and velocity, using Newton's Law of Gravitation and mechanical equations. The central body is located at the origin, and the coordinate system is such that the X-Y plane is equatorial (the X-axis may be regarded as pointing toward the Vernal Equinox), with the Z-axis pointing north.

The program is fundamentally a physics model. At the beginning of each iteration, the orbiting body is regarded as having a momentary position and velocity, and the gravitational force, acting upon it, is calculated from its mass, the central body's mass, and the distance between these bodies. The acceleration, of the orbiting body, can thus be calculated from its mass and the gravitational force acting upon it. During the time interval, this acceleration results in a new velocity, and a new position, which position and velocity then define the starting condition, for the next iteration. By these sequential straight-line motions, the overall orbital motion is described.

A fully detailed usage manual is included with the program.

DOWNLOAD [accessed 4697 time(s)]

Special Notes for Avoiding Problems

1) Pay attention to units! Input distances are in meters, velocities are in meters per second, time is in seconds, mass is in kilograms. When entering input, be sure to use a number that represents the correct, appropriate unit of measurement.

2) A sufficiently short time interval is essential to the accuracy of the simulation. If the time interval is too long, then the simulation will not produce good, or expected, results. If necessary, you can extend the total time of the simulation, by selecting all the values in the last row, and then filling down as far as you wish (and have sufficient RAM to allow), but this will require also editing the Chart Source Data, for the graphs, and some of the formulas, for the Measurements, in order to reflect the additional data (replace "1827" by whatever is now the number of the last row).

3) Cell A15, in Sheet1, cannot be set to determine the time interval, automatically - by dividing the period by the number of iterations - if the eccentricity is greater than or equal to 1. This is because such an eccentricity defines an open orbit, which has no period upon which to base such a calculation; much of the spreadsheet will be filled with error indications. Enter a specific time interval, manually.

4) Check that Cell A21, in Sheet1, is set properly. When using non-constant time intervals, the time interval may be considerably shortened during some parts of the orbit, and this may result in the graphs' displaying only a very short line (or nothing at all, if the very short line is outside the range of a graph). In this case, you can try lengthening the time interval (Cell A15, in Sheet1), or using constant time intervals, instead.

5) Graphs must be properly scaled. If the graph does not show the orbit as expected, or at all, this may be because the scaling of the graph axes has resulted in the orbit's being outside the display range. You can check the periapsis and apoapsis (if appropriate) distances (Cells A76 and A79, in Sheet1, respectively), to see what range may be desirable to display, on the graphs.

6) Be sure that Cell A26, in Sheet1, is set correctly, in accordance with the input method being used. Especially, you cannot generate an orbit from Orbital Elements, if there aren't any; much of the spreadsheet will be filled with error indications.

7) Generating an open orbit, from Orbital Elements, requires a periapsis distance. This is because open orbits have no semimajor axis (a). So, be sure that you have entered a periapsis distance, in Cell C7, if you are defining an orbit having e>=1, in OEcalc; otherwise, much of the spreadsheet will be filled with error indications.

8) Mean Anomaly cannot be applied to open orbits. If you are defining an orbit having e>=1, in OEcalc, then Cell C28 must not be set to "yes", or "y"; otherwise, the calculation of State Vectors will fail, and much of the spreadsheet will be filled with error indications. Use True Anomaly, to define the current position, for open orbits. Also, regardless of which input method is used, the column in Sheet1, for displaying Mean Anomaly (M.A.), will not display meaningful numbers if the eccentricity is greater than or equal to 1.

9) Keep in mind that the displayed orbit is generated from the initial point - which, in the case of orbits defined by Orbital Elements, is determined from the specified True Anomaly or Mean Anomaly (Cell A22 or Cell C22, in OEcalc, respectively). If, for example, you are trying to generate a parabolic orbit, and you see only half a parabola, it may be because you have defined the True Anomaly as being zero, which is at periapsis; so, all you see is the orbit after periapsis. Try setting the true anomaly back a bit, like maybe 270 (90deg. before periapsis), to see the orbit both approaching, and receding from, periapsis (for very eccentric [flat] hyperbolic orbits, this may be too far back, so set the True Anomaly closer to zero, like maybe 315; experiment, to see what works).

If worse comes to worst, then close the program (without saving) and reopen it, to start again.

©2004, www.vidmar.org
All Rights Reserved. Any reproduction of the material posted on this site is allowed only with the consent of the author.