diploma thesis: solver for space scenario

Please don't post Bullet support questions here, use the above forums instead.
Ronin
Posts: 15
Joined: Fri Oct 06, 2006 9:36 am

diploma thesis: solver for space scenario

Post by Ronin »

Hi,

I got a little problem here, I'm kinda stuck with my diploma thesis. I hope, you can bring me back on track:

In my diploma thesis among other things I wanted to write a collision constraint solver with special regards to large mass ratios, but it seems, that I misjudged the problem in some way. I thought the problem would arise with every collision, because of slow convergence of the lcp solver, but now I realized that only few special configurations cause this issue with sequential solvers. And in addition to that, I develop the solver for a non-gravity scenario, so this problem is just more unlikely to happen at all (no stacking).

In a nutshell, I want to enhance/replace Bullet's built-in SI solver, for a special scenario. The scenario is in space, like simulating a whole star system with celestial bodies, small spacecrafts and everything with real sizes, distances and so forth.

So I have to deal with:

- large distances (already solved)
- large velocities (already solved)
- very huge and very small objects
- large mass ratios

I don't really know, if someone can help me with this at all, but I'm like a little tiny bit desperate already, so I just give it a shot... :-)

So if anyone has maybe some kind of idea what problems with the SI solver could arise in such a scenario of real space simulation and maybe even how one could overcome it, I would love to here something about it, I just don't really know what to do right now... :?
bone
Posts: 231
Joined: Tue Feb 20, 2007 4:56 pm

Re: diploma thesis: solver for space scenario

Post by bone »

If by special situation, you mean a light object with constraints to two heavy objects, you are right. The problem is that by working on velocities, the iterations transfer momentum around the system. And a light object can't hold that much momentum, so it takes a lot of iterations.

So if you're crashing planets together or something, you basically need to get a light one stuck between two heavy ones.