I am working on some CFD codes - generating adjoint of a CFD model, for example. My background however is in computer science. I have absolutely no clue what the model represents or what it is doing. I would like to gain some domain knowledge of CFD. However, I notice that as I start, my physics foundations are a bit shaky and then follows my math background. Eventually, it seems to me like I am getting into a rabbit hole. What steps in terms of books/topics/lecture series would be a good start for me to self-orient later?



3 Answers 3


I'll try to give a list of the key areas that a typical university student might study to prepare for CFD research. Perhaps someone else can give some advice on where to focus for most efficient use of your time or point out specific resources.

There's a lot of background info involved in fully understanding fluid dynamics and CFD. And, as with many advanced topics, there's always more to learn. If I had to make a list of topics to study to better understand things I would divide it into two areas: Mathematical fundamentals and Physics. In rough order of sequence for learning I would propose the following lists for these topics:

Mathematical fundamentals

  1. Linear algebra
  2. Ordinary differential equations
  3. Partial differential equations
  4. Numerical methods
  5. Specific CFD methods (e.g. finite difference/finite volume/finite element implementations)
  6. Asymptotics (maybe)


  1. Introductory physics
  2. Classical mechanics/Newtonian physics
  3. Transport phenomena
  4. Thermodynamics and/or statistical mechanics (maybe)
  5. Aerodynamics or other application relevant topic (e.g. ocean dynamics)
  6. Turbulence

As I'm sure you know, CFD methods rely on (sometimes complex) numerical methods to solve nonlinear partial differential equations derived from physical situations. Math and physics are two subjects that build in complexity quite significantly so there is simply a lot of background material which is needed to fully understand the end processes. You could possibly skip some of these topics and still greatly improve your understanding, but I think this is a good starting list to really understand many CFD methods. In my opinion, numerical methods for scientific computing, partial differential equations, and transport phenomena are the most essential topics.

  • $\begingroup$ Thanks! I study numerical methods - finite difference, finite element, numerical solutions to odes etc. So that part is covered. I'm just trying to get more of the details. Also any help with what order the topics in physics should be covered will be useful. $\endgroup$
    – mod0
    Commented Jun 5, 2015 at 3:08
  • $\begingroup$ The order I posted them is the order I'd go with. Definitely a good intro/overview and then more advanced topics. Classical mechanics is important to build an understanding of energy/momentum and build physical intuition. A good understanding of conservation laws and transport phenomena will be particularly useful for understanding CFD results. If you're just doing incompressible flow and aren't worried about heat transfer you could probably wait on the thermodynamics. If you're not doing turbulence then that could wait too. $\endgroup$ Commented Jun 5, 2015 at 11:34

Try learning some CFD via this course in MIT OpenCourseware:



I am in the same boat and collected some newbee "feral learning" information here:


If you state what type of CFD you are working with then you should be able to narrow down your learning curve. For example, My interest is in CFD for scooter/motorcycle streamlining (as well as a HPC learning exercise) and I found the following books great value for money (due to age) and are written in a more accessible language (i.e. assumed prior knowledge is low)

Aerodynamics of Road Vehicles (4th Edition): From Fluid Mechanics to Vehicle Engineering ([Proceedings] / SAE)" - Hucho, Wolf-Heinrich.'s.

Computational Fluid Dynamics - The Basics with Applications. John Anderson. 1995


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.