Bridson's course notes also cover most of this https://www.cs.ubc.ca/~rbridson/fluidsimulation/fluids_notes... There's a second part by Muller, who's also very active in the area: https://matthias-research.github.io/pages/tenMinutePhysics/i...
It became a book, now in 2ed: Fluid Simulation for Computer Graphics