Here’s a video of a GPU fire simulation I did a couple weeks ago. It is simulated on the GPU and uses a handful of state of the art fluid simulation algorithms. The computer specs are 2.4GHz Core 2 Duo and GTX 480.
For advection it uses the paper: A Semi-Lagrangian CIP Fluid Solver without Dimensional Splitting
For the pressure solve it uses a multi-grid iterative solver. This allows one to use a very small number of iterations for a very large domain. In the case of this simulation, 960×540.
I also compute the optical flow using a multi-grid solver. The optical flow is used to tell the velocity at which I’m moving and uses that to apply forces to the fluid.
Here is a video without Kinect interaction but with the same GPU fluid simulator.
Great job. These look awesome. Thanks for explaining some of how you built it, bummer for me it’s not in Quartz Composer!
I might play around a bit with Quartz Composer. I haven’t before because I’m mainly a Windows developer but I got my own Mac a couple weeks ago so I’ll check it out. I’m working on being more cross platform but it is tougher with this kind of stuff because you have to go lower level for the speed.
Did you ever do work in QC for the fireman and did you get it to work smoothly?
Cheers, M!
Amazing work, Grant! Your work has provided a lot of guidance for me as I seek to improve the performance of my own Fluid Wall Kinect project. Thanks!
Wonderful !!! Are you releasing the code for the “fire” ?
It would be wonderful to have it in a party
thanks best
Cool stuff! I’m trying to do something similar. I managed to simulate the fluid dynamics using Stam’s method. However, when I try to use the USCIP method to alleviate the numerical diffusion following the paper you gave, I get something strange (the density converges to infinity). Would you shed some light on how you implemented the advection?