Recently @dschroeder recommended I pay attention to Y+ in my simulations. I’m moving this to a new discussion so it can be searched in the future. While some good information is available on dealing with Y+ in SimScale forums:
I have not seen specific instructions on what to do when your flow is globally laminar. In my case, Reynold’s numbers are generally >1000. This seems to be a somewhat contentions topic. On other forums some say Y+ is only for turbulent flows and others that it is even more important for laminar flows, and the literature is somewhat lacking in good explanations:
Could someone clarify what should be done in SimScale for the Y+ value in globally laminar flows?
I fully agree with LuckyTran’s post on this topic: “y+ is not typically mentioned in laminar flow but actually y+ can be defined for even laminar flows (actually it carries more physical meaning in laminar flows than turbulent ones).”
“The grid requirements for laminar flows is not based on the need to achieve a particular Y+ value, but rather a sufficiently refined grid is needed to resolve all important flow features. Hence Y+ is not often not mentioned in laminar flows since you do not need to check for y+ < certain value in order to guarantee a specific wall approach is being used.”
It means that lift and drag values obtained from a body in a laminar flow will change depending on the grid size. Even as you do not have a turbulence model, you have shear forces, producing relatively large gradients near the walls. If you do not use enough grid elements, these shear forces will not be captured well and therefore will result in non-accurate results.
Thanks for your helpful reply. Following this I also searched grid size and found another useful comment on CFD Online:
“You should have enough cells in the boundary layer to observe the velocity gradient/profile of the layer. That means at least 10 cells perpindicular to the wall . If you increase to a 100 cells perpindicular to the wall you should get even more accurate results. As you increase the number of cells, accuracy obviously increases. But if you have too many cells, numerical error can be a factor, but that is probably not your worry. Just adapt the boundary and check to see if the change in the grid has caused a change in your solution. Hence start with less cells and iterate and adapt until you have grid independence.”
So I am testing with different boundary inflation settings, starting with 10 layers (10 cells?), thickness of 1 and growth rate of 1. Then I will add 10 more layers and rerun until the forces coefficients stabilize and hence “grid independence” is achieved. Increasing layer numbers more, or perhaps introducing a growth rate, between runs would reduce computation hours. Since my models are taking a long time to converge, starting with a highly simplified model could help as well, although this might result in necessary changes in the grid when the run is performed on the more complex model. Does this sound right?
I have run several simulations now varying only the boundary layer inflation settings. This has taken several community hours, especially because they take a long time to converge. So hopefully it will be useful to more than just me. And someone can hopefully maker better sense of this! I have limited most of the runs to 2k iterations though they need 3k+ at the manual relax setting. My primary interest is drag coefficient (Cd).
I had the unhappy realization halfway through that I should be setting the turbulence model to laminar, rather than the automatic k-omega SST. At 20 cells 1 thick and 0 growth this did not change Cd in 2k iterations (see screenshot of table), but at 10 cells 0.3 thick 20% growth the change was fairly pronounced.
It is notable that SimScale does not allow more than 20 boundary layers, so testing 100 cells perpendicular to the wall is impossible. The auto boundary layer setting in the laminar model also includes the boundary layer growth rate found in turbulence models. This confuses the issue somewhat for me. Whether turbulent or laminar flow, the grid in SimScale appears designed to increase in size as well as by count, so there are two effects on the grid that change the Cd results.
With the grid set to 10-20 cells, 0.3 thick and 20% growth (and relax factors set to manual [P 0.3, U 0.7]) the simulations begin to stabilize around 2k iterations, but Uy and subsequently Cd continue to fall very gradually past 2.5k. I will be continuing these two runs specifically to try and get Cd to stabilize.
The main problem at this point is that I am unsure how to determine when I have reached grid independence through the combination of cell thickness, number, and growth rate. The following gives me the most confidence since Cd is consistent at 1.2 and 1.5 growth:
I should correct my previous remark that two functions of the grid affect Cd. Obviously in SimScale it is three: cell thickness, number and growth rate. Varying only cell thickness and number perpendicular to the wall would be much easier for me. I’d love to hear your advice.
The y+ value is important for the turbulent-model. It defines the height of the viscous-sub-layer where a laminar flow near the wall in turbulent flows occurs. I’m not a specialist but i would say it doesn’t matter how big the height of your first cell is because there isn’t a turbulence model.
@hypnos97 I’m not a specialist either, and this kind of back and forth discussion is exactly why I started this thread.
In ch12 of Hirsch’s “Numerical Computation for Internal and External Flows” I read:
"If you consider a flat plate, the developing boundary layer, as already discussed
in Section 4.3, when we introduced the discretization for non-uniform grids, has a
thickness to length ratio of the order of 1/√Re. Hence, for a Reynolds number of
106 and a plate with a length of 1 m, the boundary layer thickness will be of the
order of 1mm at the end of the plate. For an incoming moderate velocity of say
30 m/s, the velocity will vary from zero at the wall to 30 m/s over a distance of
1mm, which is a very strong variation. As a consequence you need to arrange for a
minimum number of grid points, of the order of 20–25 mesh points over this short
distance, as illustrated on Figure 12.1.1. You can consider that the boundary layer
mesh is inserted between the wall and the fist grid line of the inviscid mesh ( j =2).
Moreover, since the velocity gradients take their highest values near the wall and
decrease progressively toward the edge of the boundary layer, it is recommended
to cluster the grid points close to the solid surface with a progressive coarsening
when moving away from the wall. Refer to Section 4.3 for a discussion of this
important issue.
“Hence, viscous grids must be highly concentrated near solid walls.”
This chapter is about laminar, viscous flows, although it isn’t clear to me that he is discussing a globally viscous model.
I also read on CFD forums that due to the nature of the physics for these kinds of flows it is often very challenging to get them to converge. This may be why Uy drops steadily, appearing to diverge, and Cd won’t stabilize.
That convergence plot looks ok. I’m not an expert in that area, but I’ve done some simulations of boundary layer de velopment in laminar flows of flat plates, and I recall it took many iterations to converge (+5k).
Thank you @jairogut! It seemed like Cd would keep falling but I now see it is holding steady at 3.22 for the run with a grid of 20 layers, 0.3 thick and 20% growth. I’m happy enough now with the residuals at 6k iterations.
I’ve done more runs but the table above says enough I think. 20 layers seems to have captured Cd better than 10, though the difference in 20-50% growth rates for the two runs with 20 layers did not seem to impact the results. 10 layers at 20% growth produced a similar plot of the residuals up to 4k iterations, but the grid may not have been big enough and Cd is too high. So to check Y+ in a globally laminar flow also requires a refined and large enough grid which becomes more coarse away from the wall.