Fluid simulation on Bullet Physics

Started by
1 comment, last by LHLaurini 8 years, 6 months ago

I'm looking for some way to simulate fluids on Bullet Physics, but it doesn't seem to offer support to this kind of simulation. So how can I do it? It needs to be efficient and have decent quality, use OpenCL (for better compatibility with different GPU brands) or run on CPU (I prefer this because it would be the best for compatibility, but I don't know if it's possible) and work fine for big simulations like rivers and small ones like bottles.

Does anyone know what could I do? Is there any library for that or am I going to need to do it all by myself?

Advertisement

I'm looking for some way to simulate fluids on Bullet Physics, but it doesn't seem to offer support to this kind of simulation. So how can I do it? It needs to be efficient and have decent quality, use OpenCL (for better compatibility with different GPU brands) or run on CPU (I prefer this because it would be the best for compatibility, but I don't know if it's possible) and work fine for big simulations like rivers and small ones like bottles.

Does anyone know what could I do? Is there any library for that or am I going to need to do it all by myself?

There was afaik a tryout in the past to get "Fluidsv2" running in bullet, but there was several issues with that and it may be somewhere around.

But i think it was just dropped...

So you basically have no other choice but to do it yourself.

Its not that "hard" getting a fine fluid simulation up and running, but integrating with an existing physics system is very challenging!

But the most painful work you always need to do in fluid-simultions is the parameter tweaking - its just a p i t a....

A very simple paper which may gets you started is "Particle based viscoelastic fluids by clavet"... Easy to implement and gets results very fast.

I'm looking for some way to simulate fluids on Bullet Physics, but it doesn't seem to offer support to this kind of simulation. So how can I do it? It needs to be efficient and have decent quality, use OpenCL (for better compatibility with different GPU brands) or run on CPU (I prefer this because it would be the best for compatibility, but I don't know if it's possible) and work fine for big simulations like rivers and small ones like bottles.

Does anyone know what could I do? Is there any library for that or am I going to need to do it all by myself?


There was afaik a tryout in the past to get "Fluidsv2" running in bullet, but there was several issues with that and it may be somewhere around.
But i think it was just dropped...

So you basically have no other choice but to do it yourself.

Its not that "hard" getting a fine fluid simulation up and running, but integrating with an existing physics system is very challenging!
But the most painful work you always need to do in fluid-simultions is the parameter tweaking - its just a p i t a....

A very simple paper which may gets you started is "Particle based viscoelastic fluids by clavet"... Easy to implement and gets results very fast.

Thank you for your answer. Well, that's not too good to hear but with some work (or a lot of work) I'm probably going to be able to do it. Hopefully.

Maybe the worst part is going to be allowing the fluid to interact with rigid bodies.

But anyways, thank you so much.

EDIT: Actually, I forgot to say I'm focusing on water (and maybe fire/smoke). So "Particle based viscoelastic fluids" isn't the best option because

Our method is specifically designed for fast simulation of rapidly moving fluids, but is not as well adapted for simulation of low viscosity liquids such as water. We could adapt the method to simulate water by using an explicit high order accurate integration scheme, and simulating numerous timesteps per frame. The increased computation times would, however, contradict our initial goals of interactivity. (CLAVET, 2005)

But there's probably a lot of other options that will better fit my needs.

This topic is closed to new replies.

Advertisement