Handmade Hero » Forums » Code » Accurate fluid simulation
Andrew Bromage
172 posts
1 project
#4360 Accurate fluid simulation
2 years ago

Someone on the last stream asked a question about accurate fluid simulation.

If anyone is interested in looking into this field, you should be aware that there are broadly two "kinds" of fluid simulation: the kind that the engineering business wants and the kind that the entertainment business wants. The needs (and hence techniques) used by both are similar, but there are some notable differences.

The engineering business is typically interested in hard data. You want to know how this aircraft design would work at supersonic speeds, or where to place the charges in this mine, or what force a wave would impart on that levee. One project that I worked on briefly was to test various sporting uniform design for their aerodynamic properties.

The entertainment business is interested in visual appearance. Anything which doesn't contribute to the "look" of the fluid is irrelevant. Sometimes it's more important for the fluid to obey the director than the laws of physics.

I'm going to assume that we're all interested in entertainment (games and possibly visual effects) here. In which case, I suggest starting with the 2007 SIGGRAPH course notes. This is probably the best introduction to the field that's out there.

sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
Casey Muratori
802 posts
1 project

Casey Muratori is a programmer at Molly Rocket on the game 1935 and is the host of the educational programming series Handmade Hero.

#4380 Accurate fluid simulation
2 years ago

I would also point out that there is a third option, which is that if you want your fluid simulation to win you a million dollars, you would want to start here :P

- Casey
Bart Kevelham
1 posts
#4385 Accurate fluid simulation
2 years ago

Another great resource is "Fluid flow for the rest of us" (PDF LINK).

It takes the math, which to some may seem complex and difficult to understand, and shows you how straight-forward the implementation of it really is. Worth a read if you're at all interested.