A 2D fluid simulator