2D navier stokes solver with immersed boundary method