- **FLUENT**
(*https://www.cfd-online.com/Forums/fluent/*)

- - **swirl flow using LES**
(*https://www.cfd-online.com/Forums/fluent/118939-swirl-flow-using-les.html*)

swirl flow using LESHi
I am working on swirl flow. I have successfully worked on URANS model. To capture the unsteady phenomenon such as precessing vortex core precisely I need to work on LES.I tried it a lot of times but I am not getting good results. Problem is that tangential velocity is shooting up to values almost three times the experimental values, and still increasing. The questions which arises in my mind is: 1. For LES do I have to maintain y+ value equal to 1? 2. LES requires long runtime as compared to RSM. I used to get convergence within 0.6 seconds and I used to time average the simulation till 1 second using RSM. Now with LES how long should I run the simulation; before and after time averaging (Ithink I am doing mistake here)? I used SIMPLEC scheme for pressure velocity coupling, for pressure PRESTO, Transient formulation as 2nd order Implicit. I am using unstructured Hexhedral cells. I initialized the solution using steady state RSM simulation for about 3000 iterations. Then I used to switch over to LES with appropriate time step, ran the simulation for about 0.5 seconds (corresponding to one particle residence time), and then started to time average for another one particle residence time. I tried with dense mesh near the wall with same procedure, which resulted in y+ value less than 4, and same problem of increasing tangential velocity. Reynolds number in my study is 3e+05. I am using Ansys 14. Your comment on above will be of great help to me. |

Dear |x|y|z|
there are of course a lot of swirl flow problems but, as your problem seems very similar to mine, i try to give an answer. I assume you are simulating the swirl generation device, at least in part, and not only some short pipe exhausting into the chamber (or similar). If this is the case, you have to consider not only dy+ in LES but also dx+ and dz+. In your case they refer to dz+ (axial spacing normalized as for y+) and Rd(theta)+ circumferential spacing in the exhaust (again, normalized as with y+). This is because for wall bounded flows, near the walls, everything is happening in small structures elongated in streamwise direction and whose spacing in spanwise direction is around dx+=dR(theta)+=100. When you add swirl to the previous picture you have that: 1) The structures are probably diagonally oriented with respect to your grid. Which means that dx+ may become dz+ and viceversa. 2) The flow is compressed toward the wall. Which means that basic estimations of Re_tau (say, Cf) to use for grid spacing estimation will not work and will probably lead to underestimation. Now, in my case, these two factors determined an order 10 underestimation of the friction at the wall in the swirl generation device and the resulting grid spacings were a factor 10 higher than designed (consider that i also designed dz+=50 and dx+=30). When you work in these conditions with LES in Fluent the typical result is an overestimation of the mass flow (both axial and tangential in this case). In my case Re_D at the exhaust was just 22k, as a consequence there is no chance to work with wall resolved LES in your case. However, i also had the chance to work with wall functions in LES, including this case, and i found that it is quite reliable and eliminates the problem. That is, forget y+=1 and go to at least 30 (50-60 is better). Use around 200/100 for the streamwise/spanwise directions respectively. This should solve the overestimation problem. Another issue, however, might be how far is your outlet; in my case it was also creating problems and i had to move it far away from the original place. Finally, courant number should be around 1 or lower. My statistics converged (where i needed them) in about 1s of simulation after 1s to reach the statistically steady state. In order to check this, however, you should monitor the volume average of, say, velocity_magnitude^2 and wait it to reach something similar to a steady state. Then start collecting statistics until they do not change any more |

1 Attachment(s)
Dear sbaffini
Thank you very much for your reply. Basically I am working on gas cyclone. Though I don't have much idea about swirl tube, but I think that swirl tube, like cyclones, consists of highly anisotropic flow with high streamline curvatures, and of course precessing vortex core. The difference lies in the fact that the fluid is assumed incompressible (without much loss in accuracy) in case of cyclones. It is a reverse flow cyclone with tangential inlet. It's main body diameter is 0.3m and length 1.2m! As you told that you already worked on wall functions in LES, can you please brief me out about this, or provide me some references? So will y+ value in the range 50 - 60 be a good choice? Well, my previous simulation using LES for y+ value of around 4 did not do well and the aspect ratio was also very high (If I remember it was more than 200!).Second thing; u wrote that 200/100 for the streamwise/spanwise directions respectively. Does it mean the number of seeds in r-theta and z-direction? Can you please explain it clearly? I am attaching the figure of my cyclone model so that it would be easy to explain in terms of x,y, and z directions!Since I have no idea of simulations using LES, can yo please guide me about the time for which simulation should be carried out as compared to RSM. I mean if I get convergence using RSM within 0.6 seconds, what run time is required in LES (just for an idea). When should we start data sampling? third thing; Using LES, do we get the same convergence (all the residuals falling below 1e-05) as it is there using RSM. |

Dear |x|y|z|,
what i wanted to say is that, having some experience in working with wall-function and LES in Fluent, you can use that approach safely enough when you have no other choice. I mean, compared to your previous results, the wall function approach will certainly give you more consistent results for the mean velocity and, possibly, also for the velocity fluctuations. Now, according to the degree of swirl, the main flow direction can be z (no swirl) to x-y (high swirl). This suggests, as a rough estimate for the wall function approach, a wall-parallel grid spacing of around 100 (in + coordinates). More specifically, your dz+ and your circumferential spacing (still in + coordinates) should be around 100. You can maybe relax this somehow, but it depends on the mean flow direction. Don't worry (too much) about the aspect ratio, as in this case you will need a dy+ around 30-60, so it will be around 2 (Here dy+ is intended as the wall normal spacing!!!) I had a presentation at EFMC9 about this approach in a swirled combustor, but i can't upload it here (it is 5 Mb). I can send it by email if you want, but there are no more details than what i wrote here. To understand what is going on in your simulation you need to monitor some quantity. I usually look at the volume average (over the whole domain) of velocity_magnitude^2. When this clearly reaches a statistically steady state (fluctuating around some mean value) then you can start collecting statistics. In my case it took around 2 seconds of simulated flow (around 2e5 time steps). After that, you have to collect statistics until they do not change any more and expected simmetries are recovered. In my case 1 second of simulated flow was enough. The residual issue is strictly related to the solver you are using and there is no rule of thumb. I usually work with the NITA fractional step and i found that the default settings and 2 orders of magnitude drop in the residuals (it's the drop that matters) are enough for second order accuracy. |

Paolo, how are you sure you have resolved the right lengthscales in LES? Do you plot the energy spectrum to make sure your filtering is in the slope of -5/3?
OJ |

Dear OJ,
I don't think a definitive answer to your question actually exists. Besides the fact that the whole LES community do not agree on a specific quantity to look at (actually they do not agree on almost nothing ranging from the numerical method to questions like your), in Fluent (and similar codes as well) you have the very unpleasant numerical effect which is likely to cause an artificial dissipative range in your resolved scales, even if it is clearly wrong. So what happens (at the Re numbers you can achieve for LES) is that you look at your spectrum (in space or in time) and it actually has a sort of dissipative range but it can be wrong. This is not just limited to dissipative schemes, but also to the non-dissipative ones (available in Fluent) and is most likely connected to the capability of properly transfer the energy toward the smallest resolvable scales. In contrast, your SGS model could wrongly promote a -5/3 spectrum even if it is wrong (some regularization based LES do that). In my case, i worked a lot on test cases like the channel flow, where you have a lot of reference spectral results to compare with, and soon or later you start understanding what is going on with a given resolution. If you want a single answer, i guess that the Taylor microscale is the one to be correctly resolved for wall bounded flows. People working on Code_Saturne had good results on that. What to do if you don't have a reference solution to compare with? In this case you usually recognize some wrong behaviors you have encountered in your tests. In very practical cases you should change the grid/SGS model and see what happens. Even if it is LES, we're still there. Hopefully, if it is in the right range of scales, nothing important will change. Several people developed techniques to estimate the resolution/error even for single grid LES (e.g., IQ by Celik) but they all assume you are using some SGS model and, by consequence, are somehow lacking something as most of the behaviors you see in LES are common with or without SGS models. |

Dear sbaffini
Thank you for your support. At present I am fully concentrated on writing a paper, which I have to submit by 15-06-13. It would be my pleasure to get back to you as soon as possible. LES is my big dream :) ........... |

Paolo,
Thanks for the descriptive posts and sharing your experiences. From what I understand, the SGS models are good for isotropic turbulence and hence as long as we choose to resolve the larger anisotropic lengthscales until the inertial subrange, and pass on only isotropic lengthscales to the SGS models, we should at least be right in LES philosophy. Now, Smagorinsky model is said to be dissipative for larger grid sizes. But if we are careful with the grid size, we might be able to mitigate dissipative effects of SGS models. Is your point about dissipation only regarding SGS models? Quote:
Anyway, LES is full of modelling uncertainties as you mention. And hence, it is good to have a solace of some tests to guide you about your approach. You can't have a mesh independent LES (it will pracatically be DNS!) but I have read publications which insist that the turbulent energy spectrum be observed to make sure our grid size/filtering falls in the range of -5/3 decay. And this can be regarded as a thumb rule to show that LES approach taken is correct and only energy containing larger lengthscales are resolved, while smaller ones are modelled. But I am always curious to know what others have to say about it hence the post :) OJ |

Dear OJ,
sorry for the late answer. I was referring to both SGS model and numerical scheme, my experience being mostly on Fluent. It happens that the dynamic SGS models, as implemented in Fluent, nearly give no difference in channel flows, especially in relation to the spectral energy distributions. Also, this happens with the non-dissipative schemes and more than ever with the dissipative ones. In the context of a project called LESinItaly, i worked with several people with the most diverse codes (Fluent, OpenFOAM, Code_Saturne, Transat, in-house Pseudospectral, in-house 2nd order finite volume, in-house 2nd order finite difference) and SGS models (Dynamic and Static Smagorinsky, Dynamic K equation, Dynamic Anisotropic Model of Abbà, Dynamic FV based Procedure of Denaro (implicit version of commutation error treatment of Vreman), Commutation Error correction of Iovieno and Tordella) on the turbulent channel flow at Re_tau=590. All these codes, with or without a SGS model, always give a dissipative range (just, of course, truncated on the given grid). For the spanwise spectra it is mostly correct, especially without SGS model, and all of them astonishingly agree. In the stream-wise direction the spectra are all different but, more often than not, they all have a clear -5/3 as well as dissipative range, both being completely wrong. On the other side, i also developed my own dynamic mixed SGS model. Contrary to the previous models however, my model is such that it recovers the inertial range when it has a top-hat like filter affecting it. However, as a matter of fact, the model can't always distinguish between a top-hat filter and a true dissipative range hence it can happen that it artificially increase the inertial range for very well resolved flows (say, almost DNS). This feature also appears for some regularization based LES (to which my model is connected) and is also connected to an hyperviscous behavior at the smallest scales, but nonetheless it is wrong. In conclusion, i just want to say that the spectra, by themselves, may be misleading because an inertial or dissipative range can be predicted but being in the wrong place. Of course, LES needs the filter cut-off in the inertial range but this does not mean that you can actually see your spectra truncated in the middle of an inertial range. I think this is a textbook Chimera. There is a figure on the book of Sagaut (3rd ed.) which can clarify what i mean. It is the 7.1 on page 213. The top left "filtered solution" spectra is what you usually get in LES (unless the code you are using is really non-dissipative). How would you know that it is wrong if you get both the dissipative range and, at some point, necessarily, also the inertial range? |

Dear Paolo,
Sorry for my late reply. I was busy with one conference paper. I need a little help regarding use of wall functions in LES (as you suggested earlier) before I start working on it. I think there are two ways for that; one is by using Wall Modeled LES (WMLES) which is there in fluent under embedded LES option, second is using udf in LES to incorporate wall function. Sorry if I am wrong! But which one would you suggest me to go with? If i use WMLES, do I need to assign various zones (like walls for RANS modeling, and fluids as LES zone, etc ) within WMLES or software will take care of that by itself? |

Dear |x|y|z|,
while WMLES is essentially intended as a wall modeling approach, you really need to conceive it just like another SGS LES model in order to understand how to apply it; at least according to my understanding of the approach as, at the moment, i am still working with Fluent 13 and without WMLES (however i usually read the manual of all the versions). Now, according to this, embedded LES is quite different as it just refer to the possibility to have LES in some cell zones and URANS somewhere else. What SGS model you pick up there is up to you and can be equally well a dynamic Smagorinsky model or whatever. So, going to your question, how to use a wall modeled LES approach in Fluent. There are three options with increasing complexity, i only used the first one to date: 1) Use the native fluent wall-function capability which works in LES as well. You can refer to the manual for the details, you just need to know that it actually activates by itselves as soon as y+ is high enough. You just need to properly design the grid. I had sufficiently good results and it seems a good first pick. 2) Use the WMLES model, which actually is some kind of DLES, and again design the grid accordingly. I never used it and barely know the approach. I guess DLES and SAS may equally well be suitable. 3) Use a specified stress boundary condition at the wall trough an UDF, which will actually be your wall function. The apparently most straightforward approach, that is using the specific UDF for the wall functions is, actually, not possible as it is only available for the k-eps model, possibly the steady version only. Even if it was available for the unsteady version, the necessary workaround and the relative computational overhead to make it work in LES are such that i don't even write down the possible procedure. In any case you just need to define walls etc as usual. Of course, if you use a UDF and you want a wall function just for some walls you need to specify them separately if you already didn't for some reason. If you want to work with embedded LES, which again i repeat has nothing to do with wallfunctions, then you need to specify separately the LES zones (in Gambit or trough a mark/separate operation in Fluent). |

Dear Paolo,
Thank you very much for this information. Sorry for late reply as I was away for a while. I am going through Fluent's manual as you have suggested. I agree that the first option should be the best, and I would like to go with it too. All I need to understand is the proper grid design. I think that cell Courant number should also be less than 1, preferably less than 0.75. Paolo, I have a little confusion regarding streamwise/spanwise directions in case of swirl flow. Does stream-wise direction means along theta direction and span wise in r direction? As soon as fluid enters the cyclones's cylindrical part, ; we have r, theta, and z (sorry for asking such a basic question).Your comments on above will be of great help to me. |

Dear |x|y|z|,
as you said the Courant number limitations remain valid also for a wall function based approach. For what concern the streamwise/spanwise directions, they depend on the specific flow, however they are usually intended as the wall parallel ones. In your case they should be z and theta (not r). However, for highly swirled flow they will tend to be interchanged, with z being spanwise and theta the streamwise one. Hope this makes sense (at the moment it is difficult for me to provide a visual sketch) |

Dear Paolo,
Thanx a lot for your help. One thing more I'd like to ask. I can refine the mesh near the walls in all regions except inlet of the cyclone, where wall y+ reaches about 300-400, whereas in rest part of cyclone it is about 20 to 30. Will it effect my result? Secondly the y+ value which we talk about, is it better to consider time averaged y+ value or instantaneous value? Dear Paolo, it would be kind of you if you can send me the paper which you presented at EFMC9. My e-mail is: lxlylzl.123@gmail.com |

Dear |x|y|z|,
the ()+ values are usually considered as those averaged, however the instantaneous ones are certainly close to them for most cases. I had the same problems for the inlet region in my case, where i just used an inviscid wall condition, as i had very few cells to resolve the whole section. It worked better than using a wall function. |

Dear Paolo,
Thanks a lot. I will start my work soon! |

All times are GMT -4. The time now is 16:01. |