For Introduction to Computational Fluid Dynamics, the book I would recommend is “Numerical Heat Transfer and Fluid Flow” by S. V. Patankar.
Most common Finite Volume codes used for incompressible flows are based on a method (SIMPLE) originally created/invented by the author, Patankar and this book has a from-the-horse’s-mouth appeal and doesn’t disappoint. The book is somewhat limited because everything builds up to explain the SIMPLE algorithm and the focus is narrow. However it does this very well. Another limitation is that it is short on worked out examples thought it does have end of the chapter problems. The other issue is that the last edition is from early 80s and so there is very little coverage of anything that has happened in this field since then, which is quite a lot. Still, the book is very good for what it does and quite short too.
Other books that address some of the shortcomings of Patankar’s book are:
1A) “An introduction to computational fluid dynamics: The finite volume method” by HK Versteeg and W Malalasekera. This contains a lot of nice worked out examples that help explain the concepts well. I would happily recommend this book as a replacement for Patankar’s book—it was a tossup. They keep adding more stuff to each edition though and you should get this book too.
2) “Computational Methods for Fluid Dynamics” by Joel Ferziger and Milovan Peric—this is an excellent book too. It is more of a general CFD book and covers much more of the subject that the first 2 books, though not with as much detail on any one subject. There are little or no worked out examples in this book.
3) One of the standard books for CFD is the book “Computational Fluid Mechanics and Heat Transfer” by Richard Pletcher , John C. Tannehill , Dale Anderson. It is a classic.
4) Numerical Methods for Internal and External Flows by C Hirsch is quite comprehensive too.
Would love to hear from others on what books they use, both from academics and people in the industry.