CFD - A Layman's Perspective

Today, after a long period of time of mulling things over, I have decided to work on CFD again. I have some experience in CFD as I did a couple of courses, as also my MTech and PhD involved various levels of work belonging to the domain of CFD.

However, in all this time, I have never paid any real attention to what I was learning and the core of CFD was very much a black box to me, especially in my PhD when I literally just fiddled with the dials in Fluent without even trying for the least bit of illumination.

My passion for CFD died a quiet death in the period that my PhD become moribund. I remember starting with OpenFOAM, and running headlong into wall that crushed me and all my aspirations of getting CFD to work or learning it for fame and glory. Meanwhile I saw my friends, who stuck with it gain more and more experience as also comfort in it.

When I became ill, I realized that CFD was beyond me, that even if I gave my whole life I would never be able to learn it. I still think much the same - but I want to not quit before giving it a try. I am not really sure why I am starting with CFD now, what with all the water that has flown down the Ganges. What is my angle here? I have vague ideas of making it into a hobby or maybe eventually getting a job in some respectable company. I don’t know how much will bear fruit and how much would be an utter and abject failure. Without much embellishment, here is some stuff that I wanted to talk about.

CFD stands for as you may no doubt know, Computational Fluid Mechanics. It is, I have felt mathematically and computationally involved. It takes a lot of mathematical acumen and technical mastery to have a good command over this field. This is one of the reasons why, no doubt what I say, I have found it difficult to understand. Today I was pouring over the text by Versteeg in a last ditch attempt to understand some of the stuff that makes up CFD. I then found a half written code by me from my PhD days where I was attempting to solve the one dimensional heat diffusion problem. I have figured out most of it and will have a solution in some time.

CFD was really invented only in the 60s. It has evolved tremendously as a field in this period. Computational power is cheap and easily available. Computational languages are optimized and much faster. The golden era of CFD has truly arrived. CFD is not the same as it was in the 60s. So many new methods are available. I would go over them in decent time, when I get a chance. However some things haven’t changed and will not change in the near future.

CFD is really about discretizing the domain of the problem, and then writing the equations for every point in the domain and finally obtaining a set of equations that need to be solved. The equations are solved in one of the many possible ways. From something like TDMA to Gaussian methods or iterative methods or whatever. However what I realized was that you are only building the coefficient matrix and then we get a linear system like:

\[Ax = b\]

which is then solved to obtain \(x\), which is the vector of the velocities. This can now be processed to obtain the velocity field or indeed any other field that is desired. That is all there is to CFD. I think with this knowledge it might be just a tiny bit easier to solve CFD problems at home or at work(whenever I get to work on CFD).

I also have to learn OpenFOAM, and that is something that I have decided, no matter what I will learn OpenFOAM, which in turn requires me to learn C++, Tensor Calculus, Batchelor and Schlichting level Fluid Mechanics, Vector Calculus, Partial Differential Equations, Linear Algebra and so on. So I have my work cut out for me. Lets see how much we do manage to achieve. Wish me luck.That is all, or is it?