In this tutorial, I will explore the case of a pipe (or a channel) further adding in the temperature boundary conditions. The concept of hydrodynamic and thermal boundary layers would be described in this tutorial using an example from the book of Cengel – Heat and Mass Transfer. I will also teach you how you can plot any variable such as velocity or temperature across any cross-section. This tutorial shall serve as a beginner level introductory lesson for a student.
(Read this post on MultiEMOtions Android App)
For beginners trying to understand the basic implementation methodologies of Computational Fluid Dynamics (CFD), flow-over-a-cylinder is one of the classical problems to work with. This is because of the following:
- It has been widely studied in the literature, i.e. theoretically, numerically and experimentally for a variety of Reynolds number.
- It provides an understanding of the existence of boundary layers which was immortalised by Prandtl at the beginning of the 20th century.
- It has such a beautiful flow field (for the transient case) which is now formally called as the Von-Karman vortex street.
That being said, I am providing this tutorial for the people who are new to CFD and are interested in solving problems involving a Fluid-Solid Interaction (FSI). Take your time to watch it and don’t hesitate to ask me any questions.
If you are reading my blog, perhaps you might have noticed this in my previous posts that I have started working on adaptive mesh refinement. I discussed about the basic funda of this method here. After all the reading work, I started to write my own code for a very simple problem. One dimensional inviscid Burger’s equation. It is a wave equation like looking equation with a slight difference. Wave equation has a fixed velocity while it has a variable one.
My pseudo code goes like this:
I have a mesh at the beginning, let’s call it M1. Then after some time steps, in my code it is 5, I check which grid points have more local truncation error. This is done using an error estimation method based on Richardson’s extrapolation which can be found in the papers of Berger. Then around every such (flag) grid point, I place a small finer mesh to have a better solution. So, if I mark the point i, I am creating a small mesh between i-1 and i+1 which has a mesh width half as that of M1. Because there would be many flag points, therefore I will have many such small meshes, let’s call them M2. Initial values of M2 can be interpolated from the values of M1 and then I solve the same PDE on M2 which will produce better solution as M1 because it is finer than it. My problems at this stage is this: When we have such kinds of space and time variation (refinement), conservation comes into picture. Initially we only had M1, therefore our conservative PDE was doing its job. But now, since we refined space and time, we have to do the job of make things in such a way that fluxes are conserved.
I expect to solve this problem within a week as I am reading quite a lot about conservation in PDE and the papers which dealt with this problem in AMR.
Well, luckily I had gone through some of the past exam papers(which I guess were closed book because of their simplicity) and there were some questions today which were modified from their past counter parts to include some difficulty, a lot of difficulty actually. For instance, we were asked to derive the difficult cases while we were taught the simpler ones.
During the exam, I tried to strike every question conceptually as correct as possible so that my process would be right at least. There is this thing in such exams: you have books, but what you need more than books is your brains. Result is pending and I expect that my first encounter was not so bad. I at least hope for passing marks LOL.
I have been studying from almost 18 years now. I do not clearly remember about my early childhood but after my grade 3, I am pretty sure about how things went in my academic life. “Consulting” a book or a piece of paper during exam was termed as cheating (LOL), it still does if your books contain the questions and their answers directly. After coming to Taiwan, I have experienced “open one A4 sheet” exam in my previous semester where we were allowed to carry one A4 sheet with us and apparently, we wanted to write all 300 pages of our book on that single sheet. What a pity!
This semester, today is gonna be my first open book exam. I am excited about it, no place for nervousness because I am prepared for it. I have practiced the theory, derivations and some numerical. One thing I am assuming about this exam is that it is gonna be conceptual and fundamental. Why? Because it is open book. Teacher is gonna make the question paper keeping this in mind. I have always loved knowing and relying on my concepts rather than mugging up the creepy formulas to save time.
I am writing this blog post right now while my exam will start in some two hours. Because I think I am all prepared (over confidence?). Be it or a good or bad one, I know that I am gonna give my everything DURING exam, that is what really matters for me. Let’s see how it goes! Wooo-hoo!
In CFD, mesh plays a critical part in solving any problem. If I talk about the type of meshes, it could be many depending on the way you see it. Meshes can be uniform or non-uniform, structured or unstructured, rectangular or polyhedral etc. Be it any kind of mesh, its density is also very significant. By density, I mean the mesh size. How many grid points you are using to cover your physical domain? In problems where solution is smooth, comparatively fewer grid points could work well but in the areas where solution changes rapidly, such as shocks, turbulence, boundaries etc., a coarser grid can not capture it very nicely. You need fine grids in such areas.
After solving unsteady flows using artificial compressibility method I am shifting my attention towards adaptive mesh refinement (AMR). Why? Because the moment I read the first paper by Marsha Berger about it, I felt positive and excited about it. The idea appeared very cool and very motivating to me. In AMR, we adaptively place fine meshes in the areas where finer meshes are required and coarser meshes in their required places. From adaptive, I mean that the mesh could change throughout the domain with time. This technique could save computational costs as compared to the case in which you are forced to use finer mesh in all the domain.
At this time, I have understood a little part of it. I am trying to get to know it better and write my codes. Below is my presentation from this week, you could get an idea about what I have understood so far.
In some past post, I have talked about how we can use artificial compressibility method to solve Navier Stokes equations for steady, incompressible and viscous flow. After completing this task, I am moving on to solve unsteady cases. There is just a slight modification for that. It is not so difficult however not so easy as well.
The method that I am using considers two time steps: pseudo and physical (real). For every real time step, iterations (rather subiterations) are done in pseudo time steps till the local steady solution is achieved. It is better described pictorially in the presentation that I have attached for reference. Because of using C, it is easier for me to use explicit methods because handling matrix in C is difficult. I am still on the go right now as I am waiting for the results.
Unsteady Artificial Compressibility Method