Stam GDC Fluid Simulation
Class | Instructor | Date | Language | Ta'ed | Code |
---|---|---|---|---|---|
Research Project | Greg Turk | Fall 2012 | Java/Processing | No | Github Repo |
CS 4496 Computer Animation | Karen Liu | Spring 2015 | C++ | Yes | Code N/A |
CS 4496 Computer Animation | Karen Liu | Spring 2016 | C++ | Yes | Code N/A |
CS 7496 Graduate Computer Animation | Karen Liu | Fall 2016 | C++ | Yes | Code N/A |
I first implemented the ubiquitous Stam GDC fluid solver as part of my undergraduate research assistanceship with Greg Turk, which was focused on Erosion and Heightfield fluids. Since then I've used it in numerous animations and simulations (specifically particle-based/Lagrangian ones), both 2D and 3D.
Along with a few other projects like a raytracer and a particle simulator of some kind, I think that a personal implementation of this simulator is sort of a necessary pre-requisite for anyone interested in graphical simulation or animation.
As an added treat, while I TA'ed the graduate level Computer Animation class, CS7496, I was able to give the two lectures covering the paticulars of fluid simulation through approximating Navier Stokes equations, while the professor was at a conference in Japan. This was one of the highlights of my TA'ing time at Tech - I even got some courtesy claps.
No Viscosity Fluid. Note the bars floating around - I treat them as a trio of point masses, two small ones at the ends and a large one in the center, and then positionally constrain the end points to always stay the same distance from the center point, and on opposite sides of the COM. |
Viscous Fluid sort of like ketchup. |