Multithreaded implementation of a CPU-based fluid simulation system that allows interactive frame rates up to 512×512 grid resolutions in a current (2010) standard PC. The simulation is based on the application of the Navier-Stokes fluid dynamics equations for calculating the evolution of the velocity field over the fluid and other quantities carried by it like the density of suspended particles. An unconditionally stable method is used to solve the equations that allows arbitrarily large time steps in the simulation. Improvements over the original algorithm have been implemented covering the simulation of internal moving boundaries of any shape, application of vorticity confinement forces to recover details lost due to numerical dissipation and parallelization of the most expensive steps of the algorithm. The system was developed using C++ and GLUT/OpenGL. This is my paper explaining the system in detail: Real-Time Interactive Smoke Simulation