Dusty
If you ever wondered how smoke behaves during any particular scenario, then you could definitely benefit from having Dusty in your computer. Now, I know you're probably scratching your head and asking yourself, "what do I need a smoke simulator for?" Well, for one, it's helpful if you're an animator, game developer or artist and you want to realistically portray how smoke would flow when a fire is lit up.
The program is available for download on Windows but there's also a Mac version. The algorithm is based on the Stable Fluids Algorithm created by Jos Stam. If you're interested, you can hit the download link above the image to get this cool software.