GPU Physics fun: rigid body, fluids and 1.000.000 particles

Please don't post Bullet support questions here, use the above forums instead.
User avatar
Erwin Coumans
Site Admin
Posts: 4221
Joined: Sun Jun 26, 2005 6:43 pm
Location: California, USA

Post by Erwin Coumans »

His GPU method is not just particles, the rigid bodies allow for stacking:
Takahiro Harada wrote: I put a new demo on my page. Bricks are stacked in this demo.
http://www.iii.u-tokyo.ac.jp/~takahiroh ... dBody.html
Harada-san is visiting GDC and we are meeting up again. Hope he will disclose/publish more of his approach soon.

Enjoy,
Erwin
KenB
Posts: 49
Joined: Sun Dec 03, 2006 12:40 am

Post by KenB »

Yes, true, the methods have broad phase and partially narrow phase in common, and since the rigid body implementation most likely is a relaxational method, they also have the pairwise iterative term in common (though they look different in the two different models of course, and SPH typically just computes a single pairwise instance for the force).
My experience is though, that it is easier to simulate 10.000 rigid bodies in real-time than 10.000 sph particles in real-time.
A fluid must be fairly incompressible, which is terribly expensive on the timestep, but it must still have dynamics gouverned by the SPH-many-body potential that _stores_ energy (i.e. it can't be hardcore all the way).
The rigid body pair potential need only be rigid, and doesn't need to store potential energy beyond the constraint stabilization, and this is not so demanding on the step size.
Erwin Coumans wrote:His GPU method is not just particles, the rigid bodies allow for stacking:
Takahiro Harada wrote: I put a new demo on my page. Bricks are stacked in this demo.
http://www.iii.u-tokyo.ac.jp/~takahiroh ... dBody.html
Harada-san is visiting GDC and we are meeting up again. Hope he will disclose/publish more of his approach soon.

Enjoy,
Erwin
Dirk Gregorius
Posts: 861
Joined: Sun Jul 03, 2005 4:06 pm
Location: Kirkland, WA

Post by Dirk Gregorius »

The rigid body pair potential need only be rigid, and doesn't need to store potential energy beyond the constraint stabilization, and this is not so demanding on the step size.
Could you explain a little bit more what you exactly mean by this? How are the potential energy and stabilization connected (because it might add energy). And how does it effect the stepping?

For my understanding I linearize the non-linear position constraint for stabilization which leads of course to instabilities.
Etherton
Posts: 34
Joined: Thu Aug 18, 2005 6:27 pm

Post by Etherton »

Wow I just run the demo, and I have to say that this is without a doubt that fastest and the more stable staking demonstration I had ever seen.
I mean those pyramid not more a pixel while they are stacked, until they are touched by the box projectile, when they collapse to the floor.
It seems his method is faster at stacking rigid bodies than it is at simulating single bodies, I do not know how he does it, but it seems very impressive.
My experience is though, that it is easier to simulate 10.000 rigid bodies in real-time than 10.000 sph particles in real-time.
10,000 in real time easy or easier? wow that's some serious simulation there? what kind of physic libraries are doing that?
KenB
Posts: 49
Joined: Sun Dec 03, 2006 12:40 am

Post by KenB »

Oh, C-code looking at me from Visual Studio...
Far off from the real useful physics library. Just testing steppers, constraint stabilization and convergence of pairwise relaxation methods.
Etherton wrote:Wow I just run the demo, and I have to say that this is without a doubt that fastest and the more stable staking demonstration I had ever seen.
I mean those pyramid not more a pixel while they are stacked, until they are touched by the box projectile, when they collapse to the floor.
It seems his method is faster at stacking rigid bodies than it is at simulating single bodies, I do not know how he does it, but it seems very impressive.
My experience is though, that it is easier to simulate 10.000 rigid bodies in real-time than 10.000 sph particles in real-time.
10,000 in real time easy or easier? wow that's some serious simulation there? what kind of physic libraries are doing that?
coderchris
Posts: 49
Joined: Fri Aug 18, 2006 11:50 pm

Post by coderchris »

So, has he released any more details as to how he may be doing his broadphase? :D
User avatar
Erwin Coumans
Site Admin
Posts: 4221
Joined: Sun Jun 26, 2005 6:43 pm
Location: California, USA

Post by Erwin Coumans »

coderchris wrote:So, has he released any more details as to how he may be doing his broadphase? :D
I met Takahiro Harada again last week at SIGGRAPH. He wrote an article on his GPU rigid body dynamics approach for GPU Gems 3 (Addison Wesley), which just got published.

I highly recommend ordering GPU Gems 3, it also has other useful articles, including an article by Havok on implementing LCP on GPU for convex collision detection. Therefore, I won't spoil the facts, sorry :)

Thanks,
Erwin
User avatar
Erwin Coumans
Site Admin
Posts: 4221
Joined: Sun Jun 26, 2005 6:43 pm
Location: California, USA

Re: GPU Physics fun: rigid body and fluids. New: executable demo

Post by Erwin Coumans »

Takahiro Harada's latest work support over 1.000.000 particles for a dual SLI GPU configuration, using CUDA.

Related work will be shown at upcoming, from Prometech:
http://www.prometech.co.jp/

Some English translation will follow.
Erwin