GravSim - a gravitation simulation
Freeware program for Windows 95/98/NT -
Download GravSim here . (c)2000, 2001 Peer Schaefer. No warranty, no liability. Provided free of charge "as is". Use on your own risk! You may distribute this program unchanged and without profit.

The program GravSim simulates the dynamic movement of objects in three-dimensional space under the influence of gravitation, e.g. planets in a solar system or suns in an star-cluster. The routes of the objects can be displayed, e.g. like this:

It's also possible to display the objects and their positions in run-time:

Download GravSim here

The following <help> is included in the program:


GravSim calculates the movement of objects under the influence of gravitation in three-dimensional space and displays it (suppressing the z-axis on the display). The objects should be defined in an ASCII-text-file, that you can edit with your favourite text-editor or with the build-in-editor of GravSim (though this is not very luxurious...).

Each object is defined by seven numbers:
x-, y- and z-position,
x-, y- and z-start-velocity
The position 0 0 0 is in the middle of the screen. Negative values go left (x), up (y) or into the depth of the screen (z), positive values in the opposite directions. The positions are given in AU (astronomical units = 149 mio. km), the velocity in AU/year and the mass in sun-masses (= lots of kg.). The x-axis-diameter of the display is 10 AU (you can change this with the "/hwidth=?"-command in the ASCII-text-file (? means the new x-axis-diameter of the screen in AU).

-1.1 2.7 -0.7 0.12 -0.07 0.2 1.2
would create an object that is located 1.1 AU left from the center of the screen, 2.7 AU downwards from the center of the screen and -0.7 AU into the depth of the screen. The object has a velocity of 0.12 AU/year to the right, 0.07 AU/year up and 0.2 AU/year up on the z-axis (that is: in YOUR direction...). The object has 1.2 sun-masses (so it's a main-series star).
(The z-axis is suppressed in the graphical display). You see, it's quite simple.

As the first step try the build-in scenarios. Choose one of the scenarios from the "Create"-menu inside the "Edit"-menu. Run a scenario from the editor with Ctrl-R. (Re-)Start with F1. Stop with F2. Watch & edit with Ctrl+E. Have fun. That's all.


Each object is defined by seven numbers: x-, y- and z-position, x-, y- and z-velocity and mass. Position is given in astronomical units (AU = 149 million km), velocity in AU/year and mass in sun-masses.
The position 0 0 0 is in the middle of the screen.
Each number can be:
an integer, such as 7 or 435
a floating point value, such as 2.3 or .3 (=0.3) or 1.2e+3 (=1200)
an expression like 1+2 or (3.4+.7)*2.234555

The object definitions should be placed in an ASCII-text-file with the ending .grv

After the definition of an object (= the seven numbers) you can place one or more of the following commands (seperated by spaces):
/name=TEXT Displays the TEXT near to the object
/color=COLOR Gives the object the specified COLOR (e.g. BLUE, GREEN, ...)
/showdata Displays position and velocity of the object
/thin The object is displayed as a single dot (pixel)
/medium The object is displayed as a box of 4 dots
/fat The object is displayed as a little disc (default)
/trail The object leaves a trail behind it
/fixed The object is fixed in the center of the screen. All other objects move around it.

One or more of the following commands you can place anywhere in the definition-file:
/hwidth=# Sets the horizontal width of the screen to # AU
/stepwidth=# Sets the calculation stepwidth to # seconds simulation-time (the movements of the objects are calculated in discrete steps)
/hidetime Hides the time-counter in the upper left corner of the display
/sideview Displays a view onto the flank of the scenery in the right-bottom corner of the display. z-axis=vertical, y-axis=horizontal, x-axis suppressed (this is the only way to make the z-axis visible)
/smallsideviw Same as /sideview, but smaller
/bigsideview Same as /sideview, but bigger
/stepdelay=# Makes a pause of # millisec. (real-time) after each calculation step
/lapdelay=# Makes a pause of # millisec. (real-time) after each round of 50 calculation-steps

Download GravSim here

Stand: 09.09.2000 (c)2000, 2001 Peer Schaefer. Alle Rechte vorbehalten. Keine Gewähr, keine Haftung. All rights reserved. No warranty, no liability. Nutzungsbedingungen (terms of use).