Hi All! Thanks for taking the time to watch the video. If you found it useful, you should check out my other video on Temperature/Thermal Wall functions, which are very similar (but critically different) to velocity wall functions: ruclips.net/video/2bJ-5gaeSE0/видео.html Im also in the process of making another video for Turbulence Wall Functions for k, epsilon and omega. With this video you should be able to better understand some enhanced wall treatment models (such as non-equlibrium wall functions) that are offered by some CFD codes. As always, thanks for your support and I look forward to hearing from you Aidan
@@fluidmechanics101 it is super amazing work. Hope the science community support this work (funding) and appreciate your effort. We are waiting for OpenFOAM cases since I am using it frequently :)
@@fluidmechanics101 first of all thanks for all these videos. Requesting you to put more videos like this with simple explanations.. kudous to you.. excellent
Clear, clean and practically sound explaination! Amazing work, keep it up. Please do make more videos explaining the basic terms as well👍👍 such as RANS, NS equations etc. would love to see your approach!
Great video. I got a bit confused in the part "interpolation in CFD between cell center and its faces is linear", but I got the point, it is often, but not strictly linear. Thank you for the high-quality content!
Thanks for this content! Somehow you made everything very clear in the span of 20 minutes :) It is rare to find someone in this field which is able to explain these topics in such a simple manner.
Bro....I have seen many videos but urs one is the nost clear ....precise and accurate as well as practical....Plz keep on doing the good work.. and also I subscribe......Like
Thanks Mousa! Yea that is exactly what I am trying to create. There isnt really a good thorough source of CFD videos to learn from on RUclips yet, so im going to try and create the best content I can. Thanks for the support 😄
Thanks Aidan for this video. In summary, velocity profile is computed as piecewise linear in CFD due to values at cell centroids. However, turbulent velocity profile is non linear. In order to bridge the gap, wall functions are used. For y+
Hey Aidan! Thanks a lot for this great tutorial! It helped me a lot to understand the wall function approach better. Although i think there are some small mistakes on the slide 14 in equation 8. First of all the gradient should get multiplied by the dynamic viscosity mu, instead of the kinematic viscosity nu. And therefore the term on the right hand side should also get multiplied by the density to be consistent with the unit of the wall shear stress in pascal. Greetings from Switzerland! :)
Kinematic viscosity is equal to density / dynamic viscosity right? These equations makes sense to me. If you want to choose the density just express the equations in terms of density over dynamic viscosity instead.
Hi Aidan. Great video a thank you a lot for your simple and clear explanation :). I have just one remark. You should write tau=rho * nu * du/dy. Or you can just divide the shear stress by rho. Also the dimensions of the two sides of the equations would be incorrect if you don't include rho. Anyway, great video!:)
This lecture clarified my confusion. I thought the wall function was specifying the velocity at the first grid centroid. However, through this video, I found that the wall function is not giving the velocity value to the first grid centroid, rather, it uses the velocity at the first grid calculated by the conservation equation and the wall velocity (=0) to get the modified wall stress.😀
I have more than one thing to ask! In the "What value of y+ should I aim for?" section, you said that we should avoid placing cells which have a value of 5< y+
Hi Osman, you are correct. We only need y+ to be either < 5 or between 30 and 200 for the first cell close to the wall. All the other cells are computed by the cfd solver using a linear variation of variables across the cell.
If you are doing a study related to species mixing which is more of a phenomenon in the turbulent flow region there you mostly can go with first cell height that can lie at y+>30 and you can use k-e turbulent model without activating wall functions but if you want to solve for lift on wing using k-e turbulent model then it is a good practice to put first cell height at y+
All credits goes to Fluid Mechanics 101, my knowledge on turbulence models was like raw metal it is your lectures that polished it Please keep spreading knowledge
That's a very clear explanation of something not so obvious! The thing is, in CFD, a lot of cases are complex, with detachment/attachment, acceleration/deceleration etc... This will inevitably lead to 5 < y+ < 30 in some regions. Second thing: When we talk about y+, do we talk only about the first cell height? Because even with a nice y+ = 1, the 3rd or 4th cells might be in the buffer layer. That is a problem or not? Didn't get this.
Hi Lili An, yes you are absolutely correct. CFD cases are complex and and y+ may be in the region of 5 < y+ < 30 in some places in the mesh and < 5 in others. Usually we adopt a compromise and try and get y+ < 5 in the main area we care about. For example, when simulating an aerofoil/wing we usually try and get y+ < 5 near the trailing edge of the suction surface, as this is where seperation inception begins and will have the most signifciant affect on the solution. This normally leads to y+ > 5 near the stagnation point (and hence not an accurate solution), but we dont care about the solution as much here, as the integrated lift and drag are more significantly affected by the suction surface boundary layer. 2) Yes you are correct, the second and third cells may be in the buffer layer. But this is normally fine because the variation across the cells in the mesh is linear and the CFD solver compute the rest of the profile through the boundary layer for us. Conventional wisdom is to try and have 10 cells through the thickness of the boundary layer (a growth ratio less than 1.2) with a y+ < 5 for the 1st cell and this is normally fine to get an accurate solution. As always, check your solutions with a mesh convergence study, as every case is different! Hope this helps
@@fluidmechanics101 So, let's clarify more. Wall functions are used to compute values at the first near wall mesh node only and values at all other nodes are solved by the solver from the flow equations. Am I correct? If so, then it's not optimal approach IMO. Or do wall functions are used for all mesh nodes within ranges y+
Yep, you are correct. The cfd code only uses wall functions for the cell closest to the wall (often called the wall adjacent cell). The rest of the mesh will be solved by the cfd solver by assuming a linear variation across the cells. So ... you will still need a relatively fine mesh near the wall as the gradients are steep. This is why yo should try and use a growth ratio of 1.2 or lower normal to the wall to make sure you have enough cells :)
Well spotted! You still need enough cells to capture the velocity profile (and other gradients) away from the wall. Remember that the variation across cells is linear, while the velocity profile is definitely non linear! So you need enough cells to make the linear approximation sensible. People usually advise 10 cells through the boundary layer. However this is not useful to us when we are making a mesh .... so my colleagues and i tend to find that a growth ratio of 1.2 normal to the wall is about right to get the right number of cells through the boundary layer. For external aerodynamics applications where you really need a good answer, i would drop this to 1.1 or even 1.05. I hope this helps!
I just finished the first two courses of "Computational Fluid Dynamics Fundamentals Course", they were so informative and helpful but I had some doubts about wall function, I looked for more information and I found you again, now I understand everythig more clearly. Great work and thank you I hope that you could touch topics like LES or FGM. Have you thought in making a free or paid course of OpenFoam? I would purchase it, no doubt.
Hi Geovany, fantastic im so glad you found my courses useful. I really wanted to make the best course that i possibly could and as clearly as possible, so everyone would understand. This is quite difficult, especially for wall functions 😂 yes, i am going to do some LES videos in future, but i need to do some more research first, as it is quite hard! Hmmmm, yes i have been thinking about making an OpenFOAM course. I am probably going to start making it at the end of the summer, as the course take me a long time to make! Thanks again for supporting the channel, i really appreciate it
Listen, Aiden you are the best in this CFD or whatever seems to be iterative. Tell you what, I would love it if you explain about creating various meshes for CFD tools such as Ansys and OpenFoam or SU2. It will be brilliant
@@fluidmechanics101 Meshing tools for OpenFoam or SU2 I think are free. But for ANSYS I will personally give you my proffessor's licence since he has been rounding around the bush all along the course.
Thanks for the offer but I don't think I can accept. ANSYS tend to not be very happy about people sharing licenses. Maybe I will give OpenFOAM or SU2 a go. BlockMesh and snappyHexMesh are pretty good but take some getting used to!
Thank you, Aidan. Well explained particularly on the implementation of wall functions. Slightly confusing when you say "by substituting in the logarithmic profile" to evaluate the wall shear stress - Eq. (8). In fact, the velocity gradient, at the wall, can only be worked out by using the linear wall function u+ = y+ and the logarithmic profile is obviously not applicable in the viscous sublayer. Forcing the logarithmic profile to pass (yp, Up) is here to just figure out the "right" velocity scale utau. Anyway, very high-quality video!
Yes, I found exactly the same thing when I did the derivation. If you watch my video on enhanced wall functions, I think I do a better job of the derivation there
Very good information. The wall function in OpenFOAM are too many. It is difficult to understand the exact form of wall function. can you plz make one lect on that?
Hello Aidan, your videos are very clear and helpful! I am working on a case in which I want to resolve the boundary layer entirely (up to viscous layer, so y* = 1). I could use some help on better understanding the "Two-Layer" model and "Menter-Lechner" model used in ANSYS (as part of k-eps model wall treatment). As far as I understand, these are actually still wall functions, adapted to work for y* = 1. Would you consider creating a video on this topic? Thanks
Very understandable expression, thanks. I was wondering why we try to y+ value lower than 1 when y+ is already higher than it until watched this video.
Hi Aidan, I really appreciate these high-quality videos and I love how you bridge the gap between coursework from schools and commercial CFD codes. Thank you and keep up the good work! In equations 7 - 11 (slides 13, 14, and 15), why is it nu (kinematic viscosity) and not mu (dynamic viscosity)? Is that an error or am I missing something?
Thanks Kevin 😊 the wall functions are always written in terms of nu (kinematic viscosity) and alpha (thermal diffusivity). To get back to mu (dynamic viscosity) and k (thermal conductivity), just multiply by rho (density) and rho cp (for temperature). Maybe check out my vid for temperature wall functions and this will make more sense 🙃
@@fluidmechanics101 Aidan, I have watched that video as you have suggested and it looks like equation 7 in that video has a rho (density) term in front of nu (kin. visc.). I believe you are missing a rho term in equation 7 of this video.
Aiden, I had a doubt, Till what value of y+ is the wall function to be applied for in the mesh? Ypu have mentioned that for y+ > 30, use wall functions But till what y+ value is that to be used, above which is the resumption of normal CFD interpolation?
This will depend on the CFD code you are using. Often there is a hard switch between the viscous sublayer and log law at y+ = 11.25. It's really worth checking the user manual
Hi Aidan, many thanks for this educational and entertaining video! In the slide from 06:30 the calculation starts with u_tau based on tau_w (the wall shear stress). But isn't the wall shear stress the value we want to model with the wall-function approach? At first sight this seems to me like a circular reference - what did I miss?
Thank you so much for your wonderful explanation! Your explanation is excellent, and I have gained a lot. However, I don't understand how equation(8) is derived and what ut in equation(8) represents?
The video is awesome thank you very much ...... I have 2 questions please 1) The curve of the log low region makes a nonlinear curve from the wall to Up, from where did you know that this nonlinear curve is going to have the right slope of the wall shear stress (I think the green line should reach the origin to satisfy this but in the graph in the video it doesn't reach the origin) is that right ? 2) when you equated the 2 equations of the linear and log low region you cancelled "Up" in the left side with the right side although "Up" of the linear equation should be different from the "Up" of the log low equation to equate them right?
Hi Hatem, in answer to your questions, it is important to remember that it is the product of the viscosity and the velocity gradient that gives the wall shear stress. As the variation across a cell is linear, the velocity gradient will be incorrect when we are in the log law region. But this is ok, as long as the product of the (now incorrect) velocity gradient and viscosity gives the correct wall shear stress. This is why we modify the viscosity :) the green line doesnt need to reach the origin, as it is the gradient that we care about. For question 2, remember that it is the CFD solver that calculates the value of Up, so we assume that we know this and it is a constant. Remember remember, we are modifying the viscosity here to get the correct wall shear stress, not computing the value of Up. I hope this helps! Im thinking of doing a follow up video to clarify these points, what do you think? Would that be helpful? Aidan
Hi Aidan thanks for the video.. i have a question about the adjacent wall cell.. when you say is better to avoid to place y+ in the buffer layer do you mean that the centroid of the first cell has to be at a y+ greater than 30 right? Thank you
Thank you for the wonderful explanation. A quick question : You mentioned that we already know the cell centroid velocity (u_p). How do we know the cell centroid velocity?
Maybe I mispoke in the video! Up is the main unknown in the matrix equation we are solving for the velocity (so in this sense it is unknown). However, it is a variable that we can express other variables in terms of. The wall shear stress for example does not appear in any of the equations, so we need to rewrite it in terms of Up and the other variables we know. Sorry for the confusion!
Aidan, very nice video! I really like your graphs! What do you use to create those graphs? Tikz? Also, I would humbly suggest that the discuss wall treatment with the mother turbulent models (i.e., low turbulence Reynolds number model and high turbulence Reynolds number model.). Inappropriate combinations of turbulence models, wall turbulence models, and computational grids can be detrimental, yet most CFD partitioners are not well informed.
@Fluid Mechanics 101 First of all thanks for this excellent lecture. I have a query. The motivation of this lecture is to reduce the aspect ratio of cells closer to the wall but it seems we cannot reduce the number of cells as often we may need to resolve our mesh to get minimum y+. So could you please shed some light whether we have achieved our aim of reducing cell count. Eagerly waiting for your reply if u have time to clarify my query.
This is a difficult question, as there arent many good books on turbulence modelling at all! I would suggest ‘turbulent flows’ bu stephen pope. It is quite an advanced book that goes through turbulence theory in detail and should have eveything you need. The application to CFD however, is limited in this book and i would read Hrvoje Jasaks thesis instead for this 👍
Got some clarity before actually doing a CFD Simulation !! I wanted to know whether the graph of U+ vs y+ actually expresses the variation of tangential velocity against the first cell height from the wall or just Tangential velocity vs wall normal distance
The profile is experimentally determined and gives the tangential velocity vs wall normal distance. However in a CFD code we only apply this to the first cell. The CFD code computes all the other cells away from the wall.
The idea you're expressing is that the Governing equations are able to calculate the flow variables in all other regions except the near wall regions where resolved meshes or wall functions has to be made use of, correct?
Wow!! This was nicely explained. You are a blessing in disguise. I have question for you. Towards the end of the video, you say that conventional wisdom is to have y+ ~ 1. This indirectly means that we are in the viscous sub-layer. If that is the case, then why would we use wall functions? We can resolve (i.e. numerically solve the equations) the viscous sub-layer isn't it? Anyway, Thanks for the video. Cheers :)
Hi Mihir. Surprisingly the reason is often cell quality. As the cells get thinner (to reduce y+ to less than 1) their aspect ratio and non-orthogonality gets a lot worse. This reduces the stability of the equations and can often lead to divergence, which can be very frustrating! So it is usually possible to get y+~1 for smooth aerofoils and wings. However for more complex geometries, the poor cell quality and high cell count forces engineers to use larger cells and have y+> 30. Despite the loss of solution accuracy, at least we can get a solution ... 😄
@@fluidmechanics101 ok. So, my question is that suppose we have made a very fine mesh (y+ ~ 1). Now, we are no longer having a "big wall cell i.e. y+>30 " as you have mentioned at the start of the video. Now, Purpose of using wall function is to reduce the mesh count by having that big wall cell. Now, since i have very fine mesh i can actually resolve the flow. Why would i use wall function in that case? So, basically, what i think is that wall function will be used only when we are in y+>30 region ( I suppose that is what you meant in the above comment for complex geometries) . And When we are in y+~1 region then the turbulent equations will be solved and thus we won't use wall function. What do you think?Let me know. Cheers :)
Hi Mihir, sorry if you have been waiting a while for a reply. I think the key misconception here is that the 'wall function' only acts on the face of the cell in contact with the wall. If this cell has y+ = 1 then there are no modifications to the cell face and the wall flow is 'resolved'. The cells that are further away may have y+= 30 but they are not in contact with the wall (only the face of the cell in contact with the wall is affected) so no change is made to those cells. The phrase 'wall function' is misleading as it is not a continuous function but just a modification to the face in contact with the wall. As it sounds like your case has y+ = 1, then there are no modifications and you are good to go. I think my video on 'enhanced wall functions' would be useful for you. Maybe give it a watch?
@@fluidmechanics101 Actually I still don't get it Sir. So, after all, the wall functions only works when the y+ of wall-adjacent cells are larger than 30? And when the y+
Great! Im glad you found it useful. All the software i use is open source, so you can download and use it yourself if you like. I use python for plotting and data manipulation and then use inkscape for creating images and adding annotation. Check them out! They are available for mac, windows and linux, so you can still open files if you switch between computers. Also, to get the ‘math font’ for equations, check out CMU serif and CMU sans serif fonts. You can download them and add them to your font library. Hope this helps :)
I want to purchase some of your lectures but the ones I need are in seperate lecture groupings. Isn't there a way to purchase slides of specific lectures that we need?
I think you might be misunderstanding slightly 😊 inflation layers are a type or cell that you generate in the mesh. Wall functions are applied to the face of the wall adjacent cell (based on the cell y+) regardless of how it is generated, and whether it is an inflation layer or not. Inflation layers are good because they let you get thin cells close to the wall, which will reduce their y+. I would always recommend that you try and use inflation layers or thin cells close to the wall to try and get y+ as low as possible. The CFD code will usually take care of the wall functions/wall treatment for you. I hope this helps 👍
This video clarifies so much for me! Thanks a lot Dr. Whimshurt. One thing I am trying to understand is scalable wall functions in k-epsilon model. I understand that it is different than automatic wall functions presented in this video. It solves log-law equations by scaling them no matter which region your first cell is at. I am using CFX but assuming Fluent does the same. And for my model I am still aiming y+
Hi Mehmet, Great, im glad you found it useful! From the user guide, it looks like CFX and Fluent do the same thing for scalable wall functions. www.afs.enea.it/project/neptunius/docs/fluent/html/th/node99.htm More specifically, it looks like they force the value of y+ to be 11.25, if your value of y+ falls below 11.25, so that wall functions will always be used and you won't get viscous sub-layer resolved treatment. As you are aiming for y+ < 1, I wouldnt use scalable wall functions, as the scalable treatment will force y+ to be 11.25, which will give you the wrong answer. I would therefore go for standard wall treatment with the k-epsilon model instead, so that you can get the correct viscous sub-layer behaviour. Alternatively, If you are really concerned with correctly computing the wall shear stress and near wall behaviour and need y+ < 1 (this will depend on your application, perhaps you have an external aerodynamics application), then the k-omega SST model is widely considered to give more accurate predictions of the wall shear stress and near wall behaviour, when y+ < 1. I will be doing a video on this soon, so keep watching this space! Hope this helps, Aidan
@@antanas9015 Yes, but there is also an enhanced wall treatment formulation in Fluent for the k-eps turbulence model. In this approach, the flow is "divided" in a viscous affected region and a fullty turbulent region. In the viscous affected near wall region , the one-equation model of Wolfstein is employed, insetad of wall functions. in this way it is still possible to solve cases with low y+ when using the k-eps turbulence model. I hope it can help:)
y+ and u_t require wall shear stress to be known which is part of solution. As we don't know wall shear stress yet Equation 9 is an implicit equation. So, there must be some kind of iterative approach required to solve it unless there is another way to estimate y+ and u_t. You didn't explain how it is done I think.
Yes we'll spotted. If you choose y+ based on wall shear stress, rather than turbulent kinetic energy you need iteration. You can either just take the wall shear stress from the previous iteration of the SIMPLE algorithm itself or you can do the iteration locally. You can find this iterative equation either in the OpenFOAM source code, or checkout the book by Weller and Greenshields 'notes on computational fluid dynamics'
Thank you sir for sharing such an important topic and I really appreciate the way you explained the whole topic. I am a newbie in this CFD field and what I have understood is as- The velocity profile of turbulent flow is very steep near the wall so to capture the gradient a fine grid that is of high aspect ratio is required near the wall.But doing so increases the skewness and computational time so we decided to model the variation between the wall and the adjacent wall centroid with non-linear function. Basically y+ is the non-dimensional distance between the wall and the centroid of the adjacent cell and if the centroid has to lie in Viscous sub-layer it should be 30. Is my understanding alright?
@@fluidmechanics101 I have one more doubt , you said in the video that if the cell lies in the linear region then the wall shear stress is found by a simple equation where the denominator is yp. But the main purpose of finding the wall shear stress is to find ultimately y+ value right? But the definition of y+ and yp is similar then why are we finding the wall shear stress? Will be eagerly waiting for your reply sir :)
Hi Arijit, the process is iterative! We calculate the value of y+ using the wall shear stress from the previous iteration. Once we have y+ we can compute the near wall kinematic viscosity and then update the wall shear stress. I hope this helps 👍
Thanks for the CFD videos, your content really clears up a lot of information that is not covered well in some texts. I have one question, its seems like the CFD code creates blended functions between the viscous/buffer/log region and investigating Y+ is not essential and so the software thinks for us, OR do we still need to still check y+ values and ensure cells are placed in the correct region ( i.e. either side of the buffer region and say Y+ is 1)? thanks in advance
Hi Raymond, yes you are right. The CFD code calculates y+ for you and then has special blending functions so that a value of alpha and nu at the wall can be evaluated, regardless of what value y+ happened to take. This is essential for convergence, as y+ will change as the solution converges and can take any value, so the CFD code needs to be able to deal with any value of y+. However, you should still investigate y+ yourself as a post-processing check (if you have the time and resources). The reason for this is the empirical functions that the CFD code uses were derived from experimental measurements of boundary layer flows over a flat plate (with zero streamwise pressure gradient), which may not accurately represent your flow simulation ... generally its always best to try and get y+ < 1 if you can, as the viscous sub-layer behaviour seems to be most universal. I hope this helps!
Hey Aidan, how do we get eq 8 and how are eq 4 and eq 8 related to each other ? And just to summarize (let me know if i'm correct ) - Consider the aerofoil example - If we are doing the analysis at 4 deg AoA, then its computationally appropriate to use a mesh with larger y+ ( say 50 ) and Wall function approach (since it models the flow profile in the first cell) as compared to using a mesh with lower y+ . However , if we are solving for 10 deg AoA , we better get our mesh with y+ between 0-5 for accurate results.
Yes! It is always better to use y+ < 5 if you can, as there are no empirical functions here. However, the wall functions seem to work well for low angles of attack. Therefore if you cant make a mesh with y+ < 5, then use a mesh with y+ > 30 and the results are likely to be reasonably accurate at low angles of attack.
Hi Aidan, thanks so much for the video and lectures. It is really awsome and very helpful. I would like to ask you ine thing if I may. One thing is not clear to me that, how this calculated effect of the wall sheer streas is then fed into the momentum equation. Is it done by modified turbulent viscosity, which is then used in the momentum equation? So that the velocity at the first grid can take into account the effect of the (total) boundary viscosity? I appreciate your help in advance!
Yes, that's correct. The modified viscosity is accounted for in the summation over the faces of the cell when calculating the diffusion contribution to the A matrix of the momentum equation
Hello Aidan, thank you very much for the video. I have a question for you. The thing is that I'm simulating a 2D pipe and I want to check out the behaviour of the different turbulence models depending on wall treatment. As I run my simulations approaching the node to the wall, I get problems with my y+ plus value. For example, when I decrease from approximately 30 in k-epsilon, I get wrong values (as you said) but also I get a "quite random" value of y+. So that's proving that I'm working in the buffer region as soon as I'm not getting any value of y+? Thanks in advice and keep on going with the videos, really really helpful
Hi Diego, yes you are correct. You want to try and either reduce your cell height so that y+ < 5 or increase it so that y+> 30. The reason you are getting the quite random values is that the wall shear stress changes as you change y+ ( wall shear stress and y+ are coupled). which alters the balance of forces acting on the wall. You may even be getting some separation somewhere in your system, particularly if you have flow expansions or sharp corners. Have a look at the flow field in the post processor and see what you can find!
Hi Soroush, yes the slides are available. You can download them from my website or patreon account. Just follow the links in the description of the video 😊
Hi Aiden! Nice video and thanks for the superb introduction. I have a small doubt and wonder if you would like to share some wisdom. If in CFD y+ is way smaller than 1 (say 0.02), other than high aspect ratio, will wall function also predict wrongly?
They should be fine because the velocity profile is linear in the viscous sub-layer. So you can go as close to the wall as you want, the profile will always be linear
Hi Sir Aidan, I'd like to know how will I be able to determine if the y+ value I use in Ansys Fluent is correct? Will I be able to see this visually, in post-processing?
Great explaination.... just one query..if I put my first cell in the log law region then the effect of viscous sub layer and buffer layer is ignored. correct?
Yes, the effect of the viscous sub layer and buffer layer are ignored and the viscosity on the cell face is increased to ensure that you get the correct wall shear stress 👍
Thank you for posting these videos. These have been incredibly helpful. Quick question, in equation (7), shouldn't you be using 'mu' (dynamic viscosity) instead of 'nu' (kinematic viscosity)? And what is u_t in equation (8), (9) and (10)? Is it u_tau, or something else?
I also noticed that. The u_t you mentioned was exactly u_tau, and the multiplication of rho was missing. The equation Aidan wanna express was tau_w=rho*(u_tau)^2
I always lose it at eqn 8. I have no freaking idea where that expression for the wall shear stress comes from? Also how does it make any dimensional sense? (its m2/s2). Also should not shear stress be dynamic viscosity x velocity gradient?
Sorry there are a few errors in this talk (it is quite old)! There is a missing density in the equation for the wall shear stress. Note that: wall shear stress = density * kinematic viscosity X velocity gradient at the wall (because kinematic viscosity = density X dynamic viscosity). I think you might find it helpful to watch my more recent video on 'Enhanced Wall Functions' where I go through this again (but a bit more recently)
"Thank you for your awesome video! could you please tell me which y+ in In OpenFOAM, should be between 30 < y+ < 300? Is it the minimum, maximum, or average ?
It is the y+ in the region that you care about (or affects your solution the most). For example, on an aerofoil it is the y+ on the trailing edge of the aerofoil which has the greatest effect on the separation point. You care less about the y+ near the stagnation point at the nose of the aerofoil, as this has a smaller effect on the drag calculation. So you need to use some engineering judgement. Have a look at your geometry and try and deduce which region in the most important. If you are unsure, you can always test it by creating a few different meshes and see what effect it has on the results
Aidan, do we need to insert a boundary layer mesh with multiple layers (~10 to 15) if we use the k-e model with a wall function ? My understanding is that you can just mesh 2 or 3 boundary layers as long as your first cell is above the viscous sub-layer and buffer-layer (i.e. Y+ >30), the wall function will compute the necessary wall shear stress, albeit not as accurate as using model SST (i.e. with small cells and Y+
Hi Naldo, yes you are correct. If you use the k-epsilon model with wall functions, you only need to make sure that the first cell height is above the viscous sub-layer and buffer layer (y+ > 30). You dont need to then include 10-15 cells above this, like you would if you were using the SST model. However, you still need to make sure that you have enough cells to capture the velocity profile away from the wall! I usually go with 5 or 6 cells with the k-epsilon model, and this is usually good enough to do the job. 2 or 3 is not very many and you might get some pushback from examiners/reviewers/customers! I hope this helps
Hi, really enjoy your lecture. So can we use wall function in the LES simulation, and what it the difference between the damping function that been mentioned in the K-E lecture and this wall function. Thank you so much.
Hi Luna, if you check out my video on the k epsilon model that should explain the difference. As for LES, the wall functions are different! I will be doing a video on LES soon 😊
Hi zeeshan, the y+ plot is always shown with a logarithmic scale, as it helps to see the shape of the curves in the logarithmic region. 10^1=10 and 10^2 = 100, so you want to look between 10^1 and 10^2 👍 it is the third increment along, because the increments go: 10,20,30 ... 90,100
@fluidmechanics101 we define turbolent viscosity (formula 13) using y+ and u+ and then proceed to use it to find the correct shear stress at the wall. but y+ and u+ are evaluated using tau_w, so how is that possible? there is some iterative procedure involved or what?
Yes! The whole process is iterative. You can do this iteration every loop of the SIMPLE algorithm, or be lazy and use the values from the previous SIMPLE iteration. When the code converges, the values from the previous time step will equal the current time step and we are all good 😊
Hi, Thanks for your videos!! these are the best I've ever seen on the web. One question! I didn't get why we need to check y+ while there are some wall functions that fit through all layers such as the one you mentioned "Spalding's wall function". It can calculate the right value regardless of the mesh size, I mean no need to worry if some cells are in the buffer layer.
Spaldings wall functipn and the other wall functions are only accurate if you have a flow that is pretty much a straight pipe or flow over a flat plate. If you have a complex flow (impingement, separation etc) then these models will give the wrong answer and you need to reduce the y+ into the viscous sub layer, as the viscous sub layer is always laminar if you are close enough to the wall. It is the only solution you can rely on for a complex flow. So the answer is: it depends on what your flow is doing 😊
@@fluidmechanics101 So, suppose I want to model a turbulent flow in a return duct (180-deg return duct) Do I need to generate grids somehow in order to get y+ in the viscous sublayer?? Even if I use enhanced wall function??? Thank you for your time
It sounds like you will be getting some pretty significant separations and the enhanced wall functions were developed for attached flows. So ... if you want the best results, better to try and get y+ in the viscous sub-layer
Have a look at your y+. If it is in that range, either make the first cell height smaller or larger, then check the results again. Repeat until you are in the range you want
Hi All! Thanks for taking the time to watch the video. If you found it useful, you should check out my other video on Temperature/Thermal Wall functions, which are very similar (but critically different) to velocity wall functions:
ruclips.net/video/2bJ-5gaeSE0/видео.html
Im also in the process of making another video for Turbulence Wall Functions for k, epsilon and omega. With this video you should be able to better understand some enhanced wall treatment models (such as non-equlibrium wall functions) that are offered by some CFD codes.
As always, thanks for your support and I look forward to hearing from you
Aidan
Very very very useful and you are very good at explanation ❤🌹
Thanks for the feedback 😊 im glad you enjoyed the video
@@fluidmechanics101 it is super amazing work. Hope the science community support this work (funding) and appreciate your effort. We are waiting for OpenFOAM cases since I am using it frequently :)
@@fluidmechanics101 first of all thanks for all these videos. Requesting you to put more videos like this with simple explanations.. kudous to you.. excellent
Thanks for making these videos. These are very helpful. Can you make one video on chemical reaction in porous media?
I couldn't believe such high quality lectures available for free. Great work, deep insight, and vivid explanations.
Merci, grazie mille, THANK YOU! Your channel is a blessing, the ray of sunlight in my broken grad student life!
Clear, clean and practically sound explaination! Amazing work, keep it up. Please do make more videos explaining the basic terms as well👍👍 such as RANS, NS equations etc. would love to see your approach!
Great video. I got a bit confused in the part "interpolation in CFD between cell center and its faces is linear", but I got the point, it is often, but not strictly linear. Thank you for the high-quality content!
Thanks for this content! Somehow you made everything very clear in the span of 20 minutes :) It is rare to find someone in this field which is able to explain these topics in such a simple manner.
Thanks Peter!
Bro....I have seen many videos but urs one is the nost clear ....precise and accurate as well as practical....Plz keep on doing the good work.. and also I subscribe......Like
This is an excellent video. You explain far clearer than my proffesor.
best cfd channel ever.. thank you sooooo much!!
I finished my master thesis with your video. I should use CFD in my doctoral thesis and I keep going to watch again :D
saw your video for the first time. Excellent presentation and was truly helpful. I'm glad that you gave some references in the description.
Excellent lecture, I have seen many videos of these channel and learned a lot, thanks.
It would like very much to see one lecture of dynamic mesh.
Keep it up, your contents are pretty special and it's hard to find a real source from RUclips about CFD
Thanks Mousa! Yea that is exactly what I am trying to create. There isnt really a good thorough source of CFD videos to learn from on RUclips yet, so im going to try and create the best content I can. Thanks for the support 😄
I am an Undergrad student of ME and this things are blowing by brains out.
Haha yes! They are quite overwhelming at first. Just take your time and study hard and i know you will get there 😄
Thanks Aidan for this video. In summary, velocity profile is computed as piecewise linear in CFD due to values at cell centroids. However, turbulent velocity profile is non linear. In order to bridge the gap, wall functions are used. For y+
Yes! 100% correct
That was really informative and explained in a Lucid manner. Great work.
Hey Aidan! Thanks a lot for this great tutorial! It helped me a lot to understand the wall function approach better.
Although i think there are some small mistakes on the slide 14 in equation 8. First of all the gradient should get multiplied by the dynamic viscosity mu, instead of the kinematic viscosity nu. And therefore the term on the right hand side should also get multiplied by the density to be consistent with the unit of the wall shear stress in pascal.
Greetings from Switzerland! :)
Yep, well spotted!
@@fluidmechanics101 Wouldn't that mean the succeeding equations 9, 10,...have a missing density term too?
Kinematic viscosity is equal to density / dynamic viscosity right? These equations makes sense to me. If you want to choose the density just express the equations in terms of density over dynamic viscosity instead.
Kinematic viscosity= dynamic viscosity / density (your fraction is upside down)
studying CFD with Versteeg & Malalakasera book + your videos is so satisfying. Thank you!
Amazing! This is definitely what i would recommend. The versteeg and malalasekeera book is really good
Excellent explanation Dr. Aidan. It's very clear. Thank you very much.
Hi Aidan. Great video a thank you a lot for your simple and clear explanation :).
I have just one remark. You should write tau=rho * nu * du/dy. Or you can just divide the shear stress by rho. Also the dimensions of the two sides of the equations would be incorrect if you don't include rho.
Anyway, great video!:)
Yep, completely agree 👍
Your videos about CFD are awesome!
Love the rhyme in the beginning: Hello Everyone, This is Aidan from FM 101. (Y)
😂👍
This lecture clarified my confusion. I thought the wall function was specifying the velocity at the first grid centroid. However, through this video, I found that the wall function is not giving the velocity value to the first grid centroid, rather, it uses the velocity at the first grid calculated by the conservation equation and the wall velocity (=0) to get the modified wall stress.😀
Exactly!
I have more than one thing to ask! In the "What value of y+ should I aim for?" section, you said that we should avoid placing cells which have a value of 5< y+
Hi Osman, you are correct. We only need y+ to be either < 5 or between 30 and 200 for the first cell close to the wall. All the other cells are computed by the cfd solver using a linear variation of variables across the cell.
If you are doing a study related to species mixing which is more of a phenomenon in the turbulent flow region there you mostly can go with first cell height that can lie at y+>30 and you can use k-e turbulent model without activating wall functions but if you want to solve for lift on wing using k-e turbulent model then it is a good practice to put first cell height at y+
Yep! 👍
All credits goes to Fluid Mechanics 101, my knowledge on turbulence models was like raw metal it is your lectures that polished it
Please keep spreading knowledge
That's a very clear explanation of something not so obvious!
The thing is, in CFD, a lot of cases are complex, with detachment/attachment, acceleration/deceleration etc... This will inevitably lead to 5 < y+ < 30 in some regions.
Second thing: When we talk about y+, do we talk only about the first cell height? Because even with a nice y+ = 1, the 3rd or 4th cells might be in the buffer layer. That is a problem or not? Didn't get this.
Hi Lili An, yes you are absolutely correct. CFD cases are complex and and y+ may be in the region of 5 < y+ < 30 in some places in the mesh and < 5 in others. Usually we adopt a compromise and try and get y+ < 5 in the main area we care about. For example, when simulating an aerofoil/wing we usually try and get y+ < 5 near the trailing edge of the suction surface, as this is where seperation inception begins and will have the most signifciant affect on the solution. This normally leads to y+ > 5 near the stagnation point (and hence not an accurate solution), but we dont care about the solution as much here, as the integrated lift and drag are more significantly affected by the suction surface boundary layer.
2) Yes you are correct, the second and third cells may be in the buffer layer. But this is normally fine because the variation across the cells in the mesh is linear and the CFD solver compute the rest of the profile through the boundary layer for us. Conventional wisdom is to try and have 10 cells through the thickness of the boundary layer (a growth ratio less than 1.2) with a y+ < 5 for the 1st cell and this is normally fine to get an accurate solution.
As always, check your solutions with a mesh convergence study, as every case is different! Hope this helps
@@fluidmechanics101 So, let's clarify more. Wall functions are used to compute values at the first near wall mesh node only and values at all other nodes are solved by the solver from the flow equations. Am I correct? If so, then it's not optimal approach IMO. Or do wall functions are used for all mesh nodes within ranges y+
Yep, you are correct. The cfd code only uses wall functions for the cell closest to the wall (often called the wall adjacent cell). The rest of the mesh will be solved by the cfd solver by assuming a linear variation across the cells. So ... you will still need a relatively fine mesh near the wall as the gradients are steep. This is why yo should try and use a growth ratio of 1.2 or lower normal to the wall to make sure you have enough cells :)
@@fluidmechanics101 So why should I put enough cells to capture boundary layer?If I just focus on wall shear stress then one layer will be enough?
Well spotted! You still need enough cells to capture the velocity profile (and other gradients) away from the wall. Remember that the variation across cells is linear, while the velocity profile is definitely non linear! So you need enough cells to make the linear approximation sensible. People usually advise 10 cells through the boundary layer. However this is not useful to us when we are making a mesh .... so my colleagues and i tend to find that a growth ratio of 1.2 normal to the wall is about right to get the right number of cells through the boundary layer. For external aerodynamics applications where you really need a good answer, i would drop this to 1.1 or even 1.05. I hope this helps!
Super useful and clear.
Congrats, this is so clear and concise !
I just finished the first two courses of "Computational Fluid Dynamics Fundamentals Course", they were so informative and helpful but I had some doubts about wall function, I looked for more information and I found you again, now I understand everythig more clearly. Great work and thank you I hope that you could touch topics like LES or FGM. Have you thought in making a free or paid course of OpenFoam? I would purchase it, no doubt.
Hi Geovany, fantastic im so glad you found my courses useful. I really wanted to make the best course that i possibly could and as clearly as possible, so everyone would understand. This is quite difficult, especially for wall functions 😂 yes, i am going to do some LES videos in future, but i need to do some more research first, as it is quite hard!
Hmmmm, yes i have been thinking about making an OpenFOAM course. I am probably going to start making it at the end of the summer, as the course take me a long time to make!
Thanks again for supporting the channel, i really appreciate it
Listen, Aiden you are the best in this CFD or whatever seems to be iterative. Tell you what, I would love it if you explain about creating various meshes for CFD tools such as Ansys and OpenFoam or SU2. It will be brilliant
I would love to do something like this. The problem is meshing tools are expensive and I really can't afford an ANSYS license 😔 any suggestions?
@@fluidmechanics101 Meshing tools for OpenFoam or SU2 I think are free. But for ANSYS I will personally give you my proffessor's licence since he has been rounding around the bush all along the course.
Thanks for the offer but I don't think I can accept. ANSYS tend to not be very happy about people sharing licenses. Maybe I will give OpenFOAM or SU2 a go. BlockMesh and snappyHexMesh are pretty good but take some getting used to!
sir thanks for giving all these important information for us
Thank you, Aidan. Well explained particularly on the implementation of wall functions.
Slightly confusing when you say "by substituting in the logarithmic profile" to evaluate the wall shear stress - Eq. (8). In fact, the velocity gradient, at the wall, can only be worked out by using the linear wall function u+ = y+ and the logarithmic profile is obviously not applicable in the viscous sublayer. Forcing the logarithmic profile to pass (yp, Up) is here to just figure out the "right" velocity scale utau.
Anyway, very high-quality video!
Great tutorial, thank you for the time you invested to share your knowledge!
Thanks Brandon, much appreciated 😊
Excellent Presentation and explanation
This channel is nice, I would like to thank you to share your knowledges with us !!
great video / guide thanks mate!
Great! Glad you found it useful
Great explanation 🙂
Thanks a lot for it 🙏🏼
I asked my Linkedin network to watch your videos. I hope you get more attention.
Thanks Hassan, i really appreciate it!
Very nice explanation. your channel deserves to have more subscribers! Keep it up.
Thank you so much 😊
Thank you so much, very clear and on point explanation
Thanks to youtube for recommending me this video
thanks for your lecture. its really detailed and practical!
Exactly what I need. Thanks!
congratulations for your work. Each of your presentation is so helpful and comprehensible. However, how is Eq. 8 derived?
Yes I don't get it either. The derivative of the log should be 1/y and not 1/log ?
Yes, I found exactly the same thing when I did the derivation. If you watch my video on enhanced wall functions, I think I do a better job of the derivation there
@@fluidmechanics101 Will do thanks ! Excellent work btw !
Very good information.
The wall function in OpenFOAM are too many. It is difficult to understand the exact form of wall function.
can you plz make one lect on that?
my dude, this was a very good video. Thank you!
Thanks for the support bert!
Excellent lecture!
Excellent video and explanation. Thank you so much
No problem, glad you found it useful 😊
Awesome explanation. Great. Thanks a lot.
Hello Aidan, your videos are very clear and helpful! I am working on a case in which I want to resolve the boundary layer entirely (up to viscous layer, so y* = 1). I could use some help on better understanding the "Two-Layer" model and "Menter-Lechner" model used in ANSYS (as part of k-eps model wall treatment). As far as I understand, these are actually still wall functions, adapted to work for y* = 1. Would you consider creating a video on this topic? Thanks
Very understandable expression, thanks. I was wondering why we try to y+ value lower than 1 when y+ is already higher than it until watched this video.
Hi Aidan, I really appreciate these high-quality videos and I love how you bridge the gap between coursework from schools and commercial CFD codes. Thank you and keep up the good work!
In equations 7 - 11 (slides 13, 14, and 15), why is it nu (kinematic viscosity) and not mu (dynamic viscosity)? Is that an error or am I missing something?
Thanks Kevin 😊 the wall functions are always written in terms of nu (kinematic viscosity) and alpha (thermal diffusivity). To get back to mu (dynamic viscosity) and k (thermal conductivity), just multiply by rho (density) and rho cp (for temperature). Maybe check out my vid for temperature wall functions and this will make more sense 🙃
@@fluidmechanics101 Aidan, I have watched that video as you have suggested and it looks like equation 7 in that video has a rho (density) term in front of nu (kin. visc.). I believe you are missing a rho term in equation 7 of this video.
@@xGenezhi Thanks for pointing this out.
Aiden, I had a doubt,
Till what value of y+ is the wall function to be applied for in the mesh?
Ypu have mentioned that for y+ > 30, use wall functions
But till what y+ value is that to be used, above which is the resumption of normal CFD interpolation?
This will depend on the CFD code you are using. Often there is a hard switch between the viscous sublayer and log law at y+ = 11.25. It's really worth checking the user manual
great vid man, very coherent, thanks
No problem Josh, glad you found it useful 👍
Hi Aidan, many thanks for this educational and entertaining video! In the slide from 06:30 the calculation starts with u_tau based on tau_w (the wall shear stress). But isn't the wall shear stress the value we want to model with the wall-function approach? At first sight this seems to me like a circular reference - what did I miss?
Yes, it is circular! The CFD code uses iteration to calculate tau_w and u_tau.
Thank you so much for your wonderful explanation! Your explanation is excellent, and I have gained a lot. However, I don't understand how equation(8) is derived and what ut in equation(8) represents?
Great video! Thank you!
Godd!!!! This is so good
Thanks!
The video is awesome thank you very much ...... I have 2 questions please
1) The curve of the log low region makes a nonlinear curve from the wall to Up, from where did you know that this nonlinear curve is going to have the right slope of the wall shear stress (I think the green line should reach the origin to satisfy this but in the graph in the video it doesn't reach the origin) is that right ?
2) when you equated the 2 equations of the linear and log low region you cancelled "Up" in the left side with the right side although "Up" of the linear equation should be different from the "Up" of the log low equation to equate them right?
Hi Hatem, great questions! Im going to have to get back to you on these as im quite busy at the moment. Glad you found the video useful!
Hi Hatem, in answer to your questions, it is important to remember that it is the product of the viscosity and the velocity gradient that gives the wall shear stress. As the variation across a cell is linear, the velocity gradient will be incorrect when we are in the log law region. But this is ok, as long as the product of the (now incorrect) velocity gradient and viscosity gives the correct wall shear stress. This is why we modify the viscosity :) the green line doesnt need to reach the origin, as it is the gradient that we care about. For question 2, remember that it is the CFD solver that calculates the value of Up, so we assume that we know this and it is a constant. Remember remember, we are modifying the viscosity here to get the correct wall shear stress, not computing the value of Up. I hope this helps! Im thinking of doing a follow up video to clarify these points, what do you think? Would that be helpful? Aidan
@@fluidmechanics101 Yes plz do
Thank you, very awesome material!
Can you put in order of your lessons? Like Lesson 1, 2 ...
Great idea! I am looking for ways to improve the channel. Perhaps a playlist might be a good idea with the lessons in order? What do you think?
@@fluidmechanics101 Yes, i think it will be very helpful for student and any begginers!
Thank you so much! 😀
Hi Aidan thanks for the video.. i have a question about the adjacent wall cell.. when you say is better to avoid to place y+ in the buffer layer do you mean that the centroid of the first cell has to be at a y+ greater than 30 right? Thank you
Yes exactly!
Really really good!!!!
Thank you for the wonderful explanation. A quick question : You mentioned that we already know the cell centroid velocity (u_p). How do we know the cell centroid velocity?
Maybe I mispoke in the video! Up is the main unknown in the matrix equation we are solving for the velocity (so in this sense it is unknown). However, it is a variable that we can express other variables in terms of. The wall shear stress for example does not appear in any of the equations, so we need to rewrite it in terms of Up and the other variables we know. Sorry for the confusion!
Aidan, very nice video! I really like your graphs! What do you use to create those graphs? Tikz?
Also, I would humbly suggest that the discuss wall treatment with the mother turbulent models (i.e., low turbulence Reynolds number model and high turbulence Reynolds number model.). Inappropriate combinations of turbulence models, wall turbulence models, and computational grids can be detrimental, yet most CFD partitioners are not well informed.
I made the graphs in python and then edited them in inkscape 👍 thanks for the suggestion, i like it! Good idea
@@fluidmechanics101 good idea! I will give it a try. I typically use matlab+GIMP.
@Fluid Mechanics 101 First of all thanks for this excellent lecture. I have a query. The motivation of this lecture is to reduce the aspect ratio of cells closer to the wall but it seems we cannot reduce the number of cells as often we may need to resolve our mesh to get minimum y+. So could you please shed some light whether we have achieved our aim of reducing cell count. Eagerly waiting for your reply if u have time to clarify my query.
Doubts cleared thanks
Great video
Thank you so much for your lecture!
please suggest a readable book on turbulence modeling to understand turbulence theory and its implementation using CFD code.
This is a difficult question, as there arent many good books on turbulence modelling at all! I would suggest ‘turbulent flows’ bu stephen pope. It is quite an advanced book that goes through turbulence theory in detail and should have eveything you need. The application to CFD however, is limited in this book and i would read Hrvoje Jasaks thesis instead for this 👍
@@fluidmechanics101 Thank you so much for your response.
Great video and excellent content!
Thank you! Im so glad you found it useful :)
Got some clarity before actually doing a CFD Simulation !!
I wanted to know whether the graph of U+ vs y+ actually expresses the variation of tangential velocity against the first cell height from the wall or just Tangential velocity vs wall normal distance
The profile is experimentally determined and gives the tangential velocity vs wall normal distance. However in a CFD code we only apply this to the first cell. The CFD code computes all the other cells away from the wall.
The idea you're expressing is that the Governing equations are able to calculate the flow variables in all other regions except the near wall regions where resolved meshes or wall functions has to be made use of, correct?
Yep 👍
Wow!! This was nicely explained. You are a blessing in disguise.
I have question for you.
Towards the end of the video, you say that conventional wisdom is to have y+ ~ 1. This indirectly means that we are in the viscous sub-layer. If that is the case, then why would we use wall functions? We can resolve (i.e. numerically solve the equations) the viscous sub-layer isn't it?
Anyway, Thanks for the video.
Cheers :)
Hi Mihir. Surprisingly the reason is often cell quality. As the cells get thinner (to reduce y+ to less than 1) their aspect ratio and non-orthogonality gets a lot worse. This reduces the stability of the equations and can often lead to divergence, which can be very frustrating! So it is usually possible to get y+~1 for smooth aerofoils and wings. However for more complex geometries, the poor cell quality and high cell count forces engineers to use larger cells and have y+> 30. Despite the loss of solution accuracy, at least we can get a solution ... 😄
@@fluidmechanics101 ok. So, my question is that suppose we have made a very fine mesh (y+ ~ 1). Now, we are no longer having a "big wall cell i.e. y+>30 " as you have mentioned at the start of the video. Now, Purpose of using wall function is to reduce the mesh count by having that big wall cell. Now, since i have very fine mesh i can actually resolve the flow. Why would i use wall function in that case?
So, basically, what i think is that wall function will be used only when we are in y+>30 region ( I suppose that is what you meant in the above comment for complex geometries) . And When we are in y+~1 region then the turbulent equations will be solved and thus we won't use wall function. What do you think?Let me know. Cheers :)
@@mihirmakwana2026 Hi Mihir. Have you found an answer to your question?
Hi Mihir, sorry if you have been waiting a while for a reply. I think the key misconception here is that the 'wall function' only acts on the face of the cell in contact with the wall. If this cell has y+ = 1 then there are no modifications to the cell face and the wall flow is 'resolved'. The cells that are further away may have y+= 30 but they are not in contact with the wall (only the face of the cell in contact with the wall is affected) so no change is made to those cells. The phrase 'wall function' is misleading as it is not a continuous function but just a modification to the face in contact with the wall. As it sounds like your case has y+ = 1, then there are no modifications and you are good to go. I think my video on 'enhanced wall functions' would be useful for you. Maybe give it a watch?
@@fluidmechanics101 Actually I still don't get it Sir. So, after all, the wall functions only works when the y+ of wall-adjacent cells are larger than 30? And when the y+
very good video, thanks! great explanation and easy to digest. By the way what kind of software do you use for your graphs and pictures?
Great! Im glad you found it useful. All the software i use is open source, so you can download and use it yourself if you like. I use python for plotting and data manipulation and then use inkscape for creating images and adding annotation. Check them out! They are available for mac, windows and linux, so you can still open files if you switch between computers. Also, to get the ‘math font’ for equations, check out CMU serif and CMU sans serif fonts. You can download them and add them to your font library. Hope this helps :)
I want to purchase some of your lectures but the ones I need are in seperate lecture groupings. Isn't there a way to purchase slides of specific lectures that we need?
Send me an email (fluidmechanics101@gmail.com) and I will sort it out for you
@@fluidmechanics101 Okay
@@fluidmechanics101 I've made the payment. Please check mail.
New subscriber here! Great slides!
Just a question. How accurate are wall functions when compared to use of Inflation layers- like comparing wall force coefficients?
I think you might be misunderstanding slightly 😊 inflation layers are a type or cell that you generate in the mesh. Wall functions are applied to the face of the wall adjacent cell (based on the cell y+) regardless of how it is generated, and whether it is an inflation layer or not. Inflation layers are good because they let you get thin cells close to the wall, which will reduce their y+. I would always recommend that you try and use inflation layers or thin cells close to the wall to try and get y+ as low as possible. The CFD code will usually take care of the wall functions/wall treatment for you. I hope this helps 👍
This video clarifies so much for me! Thanks a lot Dr. Whimshurt. One thing I am trying to understand is scalable wall functions in k-epsilon model. I understand that it is different than automatic wall functions presented in this video. It solves log-law equations by scaling them no matter which region your first cell is at. I am using CFX but assuming Fluent does the same. And for my model I am still aiming y+
Hi Mehmet, Great, im glad you found it useful! From the user guide, it looks like CFX and Fluent do the same thing for scalable wall functions. www.afs.enea.it/project/neptunius/docs/fluent/html/th/node99.htm More specifically, it looks like they force the value of y+ to be 11.25, if your value of y+ falls below 11.25, so that wall functions will always be used and you won't get viscous sub-layer resolved treatment. As you are aiming for y+ < 1, I wouldnt use scalable wall functions, as the scalable treatment will force y+ to be 11.25, which will give you the wrong answer. I would therefore go for standard wall treatment with the k-epsilon model instead, so that you can get the correct viscous sub-layer behaviour. Alternatively, If you are really concerned with correctly computing the wall shear stress and near wall behaviour and need y+ < 1 (this will depend on your application, perhaps you have an external aerodynamics application), then the k-omega SST model is widely considered to give more accurate predictions of the wall shear stress and near wall behaviour, when y+ < 1. I will be doing a video on this soon, so keep watching this space! Hope this helps, Aidan
@@fluidmechanics101 Thank you for your time. I'll be waiting for the new videos. Great work.
If I'm not mistaken, if you're aiming at y+
Yep! I agree
@@antanas9015 Yes, but there is also an enhanced wall treatment formulation in Fluent for the k-eps turbulence model. In this approach, the flow is "divided" in a viscous affected region and a fullty turbulent region. In the viscous affected near wall region , the one-equation model of Wolfstein is employed, insetad of wall functions. in this way it is still possible to solve cases with low y+ when using the k-eps turbulence model. I hope it can help:)
y+ and u_t require wall shear stress to be known which is part of solution. As we don't know wall shear stress yet Equation 9 is an implicit equation. So, there must be some kind of iterative approach required to solve it unless there is another way to estimate y+ and u_t. You didn't explain how it is done I think.
Yes we'll spotted. If you choose y+ based on wall shear stress, rather than turbulent kinetic energy you need iteration. You can either just take the wall shear stress from the previous iteration of the SIMPLE algorithm itself or you can do the iteration locally. You can find this iterative equation either in the OpenFOAM source code, or checkout the book by Weller and Greenshields 'notes on computational fluid dynamics'
thank you very much
Thank you sir for sharing such an important topic and I really appreciate the way you explained the whole topic. I am a newbie in this CFD field and what I have understood is as-
The velocity profile of turbulent flow is very steep near the wall so to capture the gradient a fine grid that is of high aspect ratio is required near the wall.But doing so increases the skewness and computational time so we decided to model the variation between the wall and the adjacent wall centroid with non-linear function. Basically y+ is the non-dimensional distance between the wall and the centroid of the adjacent cell and if the centroid has to lie in Viscous sub-layer it should be 30.
Is my understanding alright?
Hi Arjit, yes you are 100% correct. You have understood this difficult topic perfectly 👍
@@fluidmechanics101 Thanks a lot sir.
@@fluidmechanics101 I have one more doubt , you said in the video that if the cell lies in the linear region then the wall shear stress is found by a simple equation where the denominator is yp. But the main purpose of finding the wall shear stress is to find ultimately y+ value right? But the definition of y+ and yp is similar then why are we finding the wall shear stress?
Will be eagerly waiting for your reply sir :)
Hi Arijit, the process is iterative! We calculate the value of y+ using the wall shear stress from the previous iteration. Once we have y+ we can compute the near wall kinematic viscosity and then update the wall shear stress. I hope this helps 👍
@@fluidmechanics101 Yaa now it makes sense but what about y+ and yp? Are both of this expression same?
Thanks for the CFD videos, your content really clears up a lot of information that is not covered well in some texts.
I have one question, its seems like the CFD code creates blended functions between the viscous/buffer/log region and investigating Y+ is not essential and so the software thinks for us, OR do we still need to still check y+ values and ensure cells are placed in the correct region ( i.e. either side of the buffer region and say Y+ is 1)? thanks in advance
Hi Raymond, yes you are right. The CFD code calculates y+ for you and then has special blending functions so that a value of alpha and nu at the wall can be evaluated, regardless of what value y+ happened to take. This is essential for convergence, as y+ will change as the solution converges and can take any value, so the CFD code needs to be able to deal with any value of y+. However, you should still investigate y+ yourself as a post-processing check (if you have the time and resources). The reason for this is the empirical functions that the CFD code uses were derived from experimental measurements of boundary layer flows over a flat plate (with zero streamwise pressure gradient), which may not accurately represent your flow simulation ... generally its always best to try and get y+ < 1 if you can, as the viscous sub-layer behaviour seems to be most universal. I hope this helps!
Hey Aidan, how do we get eq 8 and how are eq 4 and eq 8 related to each other ?
And just to summarize (let me know if i'm correct ) - Consider the aerofoil example - If we are doing the analysis at 4 deg AoA, then its computationally appropriate to use a mesh with larger y+ ( say 50 ) and Wall function approach (since it models the flow profile in the first cell) as compared to using a mesh with lower y+ . However , if we are solving for 10 deg AoA , we better get our mesh with y+ between 0-5 for accurate results.
Yes! It is always better to use y+ < 5 if you can, as there are no empirical functions here. However, the wall functions seem to work well for low angles of attack. Therefore if you cant make a mesh with y+ < 5, then use a mesh with y+ > 30 and the results are likely to be reasonably accurate at low angles of attack.
Hi Aidan, thanks so much for the video and lectures. It is really awsome and very helpful. I would like to ask you ine thing if I may. One thing is not clear to me that, how this calculated effect of the wall sheer streas is then fed into the momentum equation. Is it done by modified turbulent viscosity, which is then used in the momentum equation? So that the velocity at the first grid can take into account the effect of the (total) boundary viscosity?
I appreciate your help in advance!
Yes, that's correct. The modified viscosity is accounted for in the summation over the faces of the cell when calculating the diffusion contribution to the A matrix of the momentum equation
@@fluidmechanics101 Thanks a lot for the clarification!
GREAT ! MERCI !
Hello Aidan, thank you very much for the video. I have a question for you. The thing is that I'm simulating a 2D pipe and I want to check out the behaviour of the different turbulence models depending on wall treatment. As I run my simulations approaching the node to the wall, I get problems with my y+ plus value. For example, when I decrease from approximately 30 in k-epsilon, I get wrong values (as you said) but also I get a "quite random" value of y+. So that's proving that I'm working in the buffer region as soon as I'm not getting any value of y+?
Thanks in advice and keep on going with the videos, really really helpful
Hi Diego, yes you are correct. You want to try and either reduce your cell height so that y+ < 5 or increase it so that y+> 30. The reason you are getting the quite random values is that the wall shear stress changes as you change y+ ( wall shear stress and y+ are coupled). which alters the balance of forces acting on the wall. You may even be getting some separation somewhere in your system, particularly if you have flow expansions or sharp corners. Have a look at the flow field in the post processor and see what you can find!
Great instructional video! thanks! by the way, are the slides shared anywhere? if not, is it possible to share them?
Hi Soroush, yes the slides are available. You can download them from my website or patreon account. Just follow the links in the description of the video 😊
Hi Aiden! Nice video and thanks for the superb introduction. I have a small doubt and wonder if you would like to share some wisdom. If in CFD y+ is way smaller than 1 (say 0.02), other than high aspect ratio, will wall function also predict wrongly?
They should be fine because the velocity profile is linear in the viscous sub-layer. So you can go as close to the wall as you want, the profile will always be linear
@@fluidmechanics101 Thank you very much for your answer!
Hi Sir Aidan, I'd like to know how will I be able to determine if the y+ value I use in Ansys Fluent is correct? Will I be able to see this visually, in post-processing?
Yep, just plot contours of y+ on the wall surfaces and have a look at the values
Great explaination....
just one query..if I put my first cell in the log law region then the effect of viscous sub layer and buffer layer is ignored. correct?
Yes, the effect of the viscous sub layer and buffer layer are ignored and the viscosity on the cell face is increased to ensure that you get the correct wall shear stress 👍
Your channel is great ❤️
Thanks Mostafa!
Thank you for posting these videos. These have been incredibly helpful. Quick question, in equation (7), shouldn't you be using 'mu' (dynamic viscosity) instead of 'nu' (kinematic viscosity)? And what is u_t in equation (8), (9) and (10)? Is it u_tau, or something else?
I also noticed that. The u_t you mentioned was exactly u_tau, and the multiplication of rho was missing. The equation Aidan wanna express was tau_w=rho*(u_tau)^2
Yes!
I always lose it at eqn 8. I have no freaking idea where that expression for the wall shear stress comes from? Also how does it make any dimensional sense? (its m2/s2). Also should not shear stress be dynamic viscosity x velocity gradient?
Sorry there are a few errors in this talk (it is quite old)! There is a missing density in the equation for the wall shear stress. Note that: wall shear stress = density * kinematic viscosity X velocity gradient at the wall (because kinematic viscosity = density X dynamic viscosity). I think you might find it helpful to watch my more recent video on 'Enhanced Wall Functions' where I go through this again (but a bit more recently)
@@fluidmechanics101 Thank you! Sorry for the outburst, I was really frustrated what I was missing. I really like what you are doing, great videos!
"Thank you for your awesome video! could you please tell me which y+ in In OpenFOAM, should be between 30 < y+ < 300? Is it the minimum, maximum, or average ?
It is the y+ in the region that you care about (or affects your solution the most).
For example, on an aerofoil it is the y+ on the trailing edge of the aerofoil which has the greatest effect on the separation point. You care less about the y+ near the stagnation point at the nose of the aerofoil, as this has a smaller effect on the drag calculation.
So you need to use some engineering judgement. Have a look at your geometry and try and deduce which region in the most important. If you are unsure, you can always test it by creating a few different meshes and see what effect it has on the results
Aidan, do we need to insert a boundary layer mesh with multiple layers (~10 to 15) if we use the k-e model with a wall function ?
My understanding is that you can just mesh 2 or 3 boundary layers as long as your first cell is above the viscous sub-layer and buffer-layer (i.e. Y+ >30), the wall function will compute the necessary wall shear stress, albeit not as accurate as using model SST (i.e. with small cells and Y+
Hi Naldo, yes you are correct. If you use the k-epsilon model with wall functions, you only need to make sure that the first cell height is above the viscous sub-layer and buffer layer (y+ > 30). You dont need to then include 10-15 cells above this, like you would if you were using the SST model. However, you still need to make sure that you have enough cells to capture the velocity profile away from the wall! I usually go with 5 or 6 cells with the k-epsilon model, and this is usually good enough to do the job. 2 or 3 is not very many and you might get some pushback from examiners/reviewers/customers! I hope this helps
Hi, really enjoy your lecture. So can we use wall function in the LES simulation, and what it the difference between the damping function that been mentioned in the K-E lecture and this wall function. Thank you so much.
Hi Luna, if you check out my video on the k epsilon model that should explain the difference. As for LES, the wall functions are different! I will be doing a video on LES soon 😊
Hi, Thanks for your lessons. You're doing a great job. How about Van Driest's profile? Is it robust or reliable?
at 5:10 you said y+ values greater than 30 but in plot where is 30 on y+ that is x axis has logarithmic scale 10^0,10^2 can you explain me
Hi zeeshan, the y+ plot is always shown with a logarithmic scale, as it helps to see the shape of the curves in the logarithmic region. 10^1=10 and 10^2 = 100, so you want to look between 10^1 and 10^2 👍 it is the third increment along, because the increments go: 10,20,30 ... 90,100
@fluidmechanics101 we define turbolent viscosity (formula 13) using y+ and u+ and then proceed to use it to find the correct shear stress at the wall. but y+ and u+ are evaluated using tau_w, so how is that possible? there is some iterative procedure involved or what?
Yes! The whole process is iterative. You can do this iteration every loop of the SIMPLE algorithm, or be lazy and use the values from the previous SIMPLE iteration. When the code converges, the values from the previous time step will equal the current time step and we are all good 😊
Hi, Thanks for your videos!! these are the best I've ever seen on the web. One question! I didn't get why we need to check y+ while there are some wall functions that fit through all layers such as the one you mentioned "Spalding's wall function". It can calculate the right value regardless of the mesh size, I mean no need to worry if some cells are in the buffer layer.
Considering you want to use such function, you still need to compute y+ because Spalding's wall function is correct up to y+
Spaldings wall functipn and the other wall functions are only accurate if you have a flow that is pretty much a straight pipe or flow over a flat plate. If you have a complex flow (impingement, separation etc) then these models will give the wrong answer and you need to reduce the y+ into the viscous sub layer, as the viscous sub layer is always laminar if you are close enough to the wall. It is the only solution you can rely on for a complex flow. So the answer is: it depends on what your flow is doing 😊
@@fluidmechanics101 So, suppose I want to model a turbulent flow in a return duct (180-deg return duct) Do I need to generate grids somehow in order to get y+ in the viscous sublayer?? Even if I use enhanced wall function???
Thank you for your time
It sounds like you will be getting some pretty significant separations and the enhanced wall functions were developed for attached flows. So ... if you want the best results, better to try and get y+ in the viscous sub-layer
Nice Video Aidan..... How can i avoid the situation having (5 < y+ < 30) ?
Have a look at your y+. If it is in that range, either make the first cell height smaller or larger, then check the results again. Repeat until you are in the range you want