### Summary This paper is an introduction to the Navier-Stokes equations and the methods proposed by the graphics community (up through Stam's Stable Fluids paper) for solving them. ### Problem The Navier-Stokes equations were known to be a good approximation for fluid behavior, but solving them's a tricky problem, and it wasn't until Stam that there was a good, stable way to simulate them reasonably fast. ### Methods Used Stam's method separates the Navier-Stokes equations into components and solves them individually, as follows 1. At the beginning of the solution process, each cell's velocity is set to 0 2. ...+f : Any external forces (gravity, magic, etc.) are added to the velocity 3. ...-(u*del)u... : Using a fancy Semi-Lagrangian scheme, the velocity field is advected along itself, enforcing conservation of momentum 4. ...+v*del^2(u)... : Stam solves for the updated velocity of this step using the velocity found in step 3 and an implicit solver. 5. ...-(1/rho)*del(p) : This term isn't solved as such, but using the Helmholz-Hodge decomposition, Stam ensures that del(p) is 0 everywhere in the field by removing any divergence in the field's velocities ### Key Ideas * Semi-Lagrangian advection * Implicit solution using the conjugate gradient method of the viscosity term of the Navier-Stokes equations * The Helmholz-Hodge decomposition for resolving divergence in the velocity field