There goes another series of posts!
I have been having a thought of writing down some notes on CFD using FVM. However, it didn’t quite materialize, mainly because I didn’t have an opportunity to teach a course on CFD. The situation may soon change, once I land a suitable job in the University of Mumbai in the upcoming academic year.
I am going to insist that I be considered for teaching courses on CFD above anything else—including FEM.
Anticipating that I should get to teach CFD, I then decided to note down something, mostly just equations without much explanation, and mostly for my own use, not for distribution to students (at least as of now).
I began, and already have the rough versions for, the first two “chapters” in the notes: (i) FVM of 1D steady-state diffusion, and (ii) FVM of 1D steady-state convection-diffusion.
The initial idea was to note down only those equations that will be helpful in writing programs. I would be supplying some simple illustrative code too. After a bit of vacillation, I settled down on writing these programs in Python, rather than in C++. So far, it seems that this was a good decision to make.
I had begun by basing these notes mostly on Versteeg and Malasekara’s text, mainly because there are nice completely solved examples in it. However, as I progressed further in my writing, I found it better to use Jayathi Murthy’s notes as the primary reference, mainly because of the consistency of the mathematical notation (e.g. she explicitly notes down the flux vector, explicitly writes down the formulae for handling Neumann and even mixed conditions, etc.). My rough drafts still are in something of an awkward state, because of this switch-over in the middle of writing them. It will be about a week before they get straightened out and finalized.
Overall, my plan is to write about 2 chapters (complete with the accompanying Python code) every week. The sequence roughly is this:
- 1D steady-state diffusion
- 1D steady-state convection-diffusion
- 2D steady-state convection-diffusion
- 2D steady-state pressure-velocity coupling—part 1 (mostly SIMPLE)
- 2D steady-state pressure-velocity coupling—part 2 (implementation issues, and SIMPLER etc.)
- 1D transient diffusion
- 2D transient convection-diffusion (QUICK)
- 2D transient SIMPLE
- 2D unstructured grids—part 1
- 2D unstructured grids—part 2
- Implementation of a simple Navier-Stokes solver (incompressible, viscous)—part 1
- Implementation of a simple Navier-Stokes solver (incompressible, viscous)—part 2
Of course, as I go along, the organization may get changed. The chapters may have to be split up further. And, may be, I would rather directly begin with 2D (as is done by Murthy) and so, the chapters on 1D would get absorbed in the later chapters. Further, an addition of a chapter on coupling the energy equation would be nice to have, though not a must.
Time constraint is important. I have to finish this exercise by mid-June.
I had intended the notes to remain bare-bones. However, once I began writing, explanations invariably kept on creeping in, and the notes became thicker. Some of these explanations didn’t seem to fit in anywhere, but having already written down something, I didn’t have the heart to simply delete this material out. So, I gathered some of these remarks in a separate chapter, which now has become the Chapter 0.
And, realizing how much explanation of how many obvious things I had needlessly inserted, I then decided to publish this zeroth chapter, by way of a definite admonishment to me. Publishing means highlighting, and ease of recall, and I wanted to remind myself how not to write these notes.
I really need to write only the equations first, and implement the programs, even if both are done in a hurried, dirty manner. I could always edit the notes later on and expand them. But first, I need to just finish typing in the equations! Not write very long explanations of the obvious.
So, it is in that sense of admonishment that I now publish the zeroth chapter of the notes. (I may change the contents without notice.) “Enjoy”! [^]
I am sure that I will be publishing the notes and the programs for the first couple of chapters, may be sometime in the second half of this month.
However, I am not sure—indeed, I am not encouraged—that I should also publish the entirety of the material, ahead of actually landing a suitable job.
And, yes, as I said the last time, I don’t think I will have an occasion to blog about anything else in the near future. So, bye for now…
* * * * * * * * * * * * * * *
A Song I Like:
(Hindi) “aaye tum yaad mujhe”
Singer: Kishore Kumar
Music: S. D. Burman