SimGrav in a state to 24th September 2001 (v1.41)

Hot news:'s something new6.gif awaiting to come

  1. Minimum system requirements.
  2. History.
  3. Main tenses.
  4. Bug reporting.
  5. Limitations.
  6. Contact information.
  7. For people, interested SimGrav.
  8. Updating information and news.
  9. Download it!.

    Посмотреть русскую версию

1. Minimum system requirements.

At this time, without big optimizations, the system requirements are too big for CPU. It is because of VERY big amount of computations per one frame, then minimum CPU speed for normal showing of the 50-70 particles is 300Mhz (for example my K6-500 is insufficient to show 100 particles at 15fps). Well, after doubling number of particles the speed is decreasing for 4 times, for inc. 3 times - decr. for 9 times, etc. If you want to see the 1000 moving particles (tremendous number, really?:-)) with about 15-20fps, you need a 4 CPUs UltraSPARC III machine. BUT it's all said for first version of the program, without any optimizations, improvements, etc. See section 7 for more information.

Top of page


2. History.

This section is usual for game's readme. But I think that here it is not spare too.

Well, many years people look to the sky. They think about stars, planets, galaxies, nebulas. But it is not so big period, since they thought about the laws of the basic movements of them. There was some theories, that set the laws of the universe. First was made by Galilee, then Newton, then many others, and the most exact is the theory of Einstein and Friedman. All of these scientists made their calculations on the paper. Just imagine, solving big differential equations on the paper. It's terrible, isn't it? I too think so. Then I've decided to "help" them :) in this deed by applying of my knowledge in physics and programming. And this program is the result of my work.

Top of page


3. Main tenses.

Program SimGrav can do many things. But it isn't sweeping floors, washing plates or something other in this style ;). Before listing of main tasks of my program, I want to say, that this program uses unique algorithm for ALL of these tasks. And I hope, you'll understand why it is so.

With SimGrav you can see the movements of particles with big mass under the force of world gravitation.

Well, it's single main task of the SimGrav.

But don't think that this task is very easy to do and unneeded.

There are some examples of application this task: - simulating Sun system with all planets, Sun, asteroids, satellites and everything other! (But the cosmic dust of course :-) - modeling big galaxies of all types (elliptic, spiral, irregular, etc.); - computation the trajectory of the synthetic satellites, moving in the space between planets; - simulating collisions of any number of galaxies, particles and other accumulations of matter.

It isn't enough for you? I think that you will find any other applications for my program yourself. There are one good idea to use it for modeling electrostatic interactions...

There are some characteristics of SimGrav: Maximum number of particles for this time is 500. I don't think you will normally work with amount more than it. I hope anybody will help me to improve SimGrav to allow work'em normally with thousands of particles on real life PC's, not workstations or mainframes.

Core calculations is based on the laws of Newton, world gravitation, law of keeping impulse and energy.

Main idea is the system of the differential equations of second level with three unknown variables - x,y,z that is coordinates of every particle in space. This system is integrated by the improved Euler's method of 2'nd level. Somebody can say that this method isn't enough exact, but I can say another one: I've tested my algorithm on the model of the Sun system and haven't seen any changes of planet's trajectory after one hundred turns around the Sun!* It isn't joke. This result means that my solution is stable and can be applicated to many tasks listed or unlisted upper. Another thing is that you modeling galaxy or other accumulation of matter, that haven't any discrete and exact parameters. In this way, you mustn't worry for the exactness of algorithm because you don't know these parameters and all simulations are abstract and theoretical.

*This means that solutions are stable in a long period of time.

Well, I don't know, what to tell you any more about my program. If you will have any questions, ask me, when you want... and try all ways to learn using SimGrav yourself.

Top of page


4. Bug reporting.

There are some unstable situations. I've seen only one big bug: program hangs up when you entering letters or non-value characters in places, where it isn't correct (mass for example). Inform me for any other bugs in SimGrav. Also see section 5.

New version - SimGrav v1.41 for DOS.

There much improvements and bug fixes. There are some of them:

In "circles" particle mode fixed bug when there was many artifacts on the screen;
Fixed bug when simulation has finished and all of the screen has cleared (very stupid bug!);
Now you can manually set color of every particle in "experiment" mode;
To do this, was added new menu entry "View colors" as a quick reference;
Helpful data entering in "experiment" mode;


Top of page



Like any other program, SimGrav has known limitations. I can't list all of them, but main are:

500 maximum particles;
Limitations for maximum coordinates and speed are from C++: double and long double type of variables used;
Core algorithm sets the minimum distance between two particles is called "minimum merge distance". This is the value which sets the minimum distance between particles, after they will be merged in one thing. You can manually set the minimum merge distance in options menu.
after merging one of the particles is disappearing, but it is present in a point, called "recycle point". It's coordinates you can set manually in options menu.
Sometimes I see thing I called the "gravitation resonance". It is when one of the particles is rotating around other and accelerating when it fly from the screen with big speed. I think it isn't a bug. Just you can increase the minimum merge distance and all visible bugs like this must disappear.

Top of page


6.Contact information.

If you interested in my program and want to talk with me, or very want to get it's source, write me: Russian Federation,Bashkortostan Respublic,Ufa,450105,Korolyova (or Koroleva) 2/2,33 or E-Mail:

Top of page


7.For people, interested SimGrav.

If you REALLY interested my program, liked any of it's possibilities, inform me please. I don't add source code with program to archive, but if you want to look the source, I can send it for you by e-mail. But most of all, I want to attract the real masters of programming, who CAN and who WANT to help me optimize and improve SimGrav. I think it isn't job for one man. And I'm waiting. I need your support!

Top of page


8.Updating information and news.

     SimGrav3D v0.95 screenshot SimGrav3D version 0.6 screenshot

Yaw! Cool! I think this is very interesting news for people interested SimGrav. Bug presents new version of SimGrav - SimGrav3D. I've included two pre-release versions of SimGrav3D (v0.6 and v0.95) in the demo. zip . These are almost full restricted demo versions. They use Direct3D API from DirectX 8.0! Now it's compiled in VC++ 6.0 using DX SDK 8.0. Welcome 3D-accelerators! I think, now program seems much nicer. It still uses old computation algorithm (just nothing to upgrade...).

No keyboard actions present in v0.6. But in v0.95 there are some actions: "P" - pause sim; "Q" "A" - zoom in, zoom out; "W" "R" } "E" "D" }- camera view movement "S" "F" } "N" - new particle view. You can close program by pressing Alt-F4 keys.

Note: you can't stop rotation of objects in pause mode.

There is one interesting thing: just add timer to particle view changer ("N" button, who forgot) and you will get excellent screensaver (like a cosmic dream). I'll make screensaver version of SimGrav3D later.

What maybe will added to full version of SimGrav3D:

full camera view control including movement, rotation(Hello, Homeworld!) and zooming;
different view types;
full position, speed, mass, material, lighting control;
special effects like a fog, lens flares, glow...
full controlled parameters of simulation (like in SimGrav - merge distance, time step, distance influence parameter,  etc.);
different demo modes (Sun system, Asteroids, etc.);
full graphics quality control;

Little comments:

Now, system requirements much higher than they was in original SimGrav. Now you need at least Pentium II 350 and 3D accelerator of 2nd generation (TNT,Voodoo2, etc.). Also Windows is needed to run SimGrav3D.
In SimGrav3D v0.6 demo initial data is set to show "gravitation resonance" effect, spoken in Limitations section. This data is not randomized every run. This effect is physically real, and seems cool! In real life it spawns a big explosion (massive stars fall into the black hole or little stars/planets falls to massive stars).

Top of page


9.Download it!

Downloading of SimGrav packs:

SimGrav v1.0 (DOS only) - original version of SimGrav. Weight - 62Kb RAR file.
SimGrav v1.3XL (SG3D demo included). Weight - 160Kb RAR file.

Top of page