Can OpenFOAM LES gurus recomme
Can OpenFOAM LES gurus recommend the best convection schemes available in OF? It would be great if anybody can share his/her experience with various schemes in terms of stability and accuracy. I tried "Gauss linear", and it yielded unphysical oscillations in velocity/pressure, which is understandable given the mesh resolution.
|
try filteredLinear
try filteredLinear
|
I read an article from ETMM6 c
I read an article from ETMM6 conference about the use of polyhedral meshes for LES with starccm+. It seems to be a nice way to use unstructured grids for LES...
Does anyone know, which of OpenFOAM schemes are for LES 'low' dissipative for polyhedral and tetra meshes? Code Saturne has some adjusted schemes for unstructured grids too. Maybe, someone has experience in unstructured LES!? Would be nice to read some advices, if it is worth running LES without hexa meshes... Fabian |
The best available low dissipa
The best available low dissipation second order schemes in OpenFOAM are filteredLinear and filteredLinear2. The filtering removes staggering caused by pressure-velocity decoupling by introducing small amounts of upwind. The type of mesh they are used on is not relevant, although the calculations will obviously be more accurate on hexes and less accurate on the same number of tets.
|
Thanks for the info, is there
Thanks for the info, is there any reference to these schemes?
|
Where should I look to find th
Where should I look to find the details of the convectiobn schemes. I unsuccessfully tried to browse the code but it was not obvious where all the different schemes are implemented.
|
Reference? No, Henry invented
Reference? No, Henry invented them from scratch to stop the staggering in LES a few months ago. We have performed a lot of tests since then and they are unconditionally better than any of our previous attempts to address the problem and do not adversely affect LES statistics.
The sources can be found in src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/ |
This sounds good indeed!
Whic
This sounds good indeed!
Which sgs-models have you been testing these schemes on? Have you tried DNS with these schemes? It would be very interesting to hear about suggestions/experiences for minimum cell Reynolds numbers when implicit LES/DNS limit is being considered. Actually, I think I'll try this approach on filteredLinear-schemes on my free jet case within some weeks or so. Regards, Ville |
We have run them with the oneE
We have run them with the oneEqEddyVisc and SpalartAllmaras and are now using them for all our LES/DES calculations. So far so good. I know Henry has run them without an SGS model as well, but unfortunately I can't remember what his comments were on the viability of this approach.
I am not 100% certain, but it looks like you can pretty much ignore the cell Reynolds number limit if you have these schemes in place. A small note: these schemes will not remove staggering entirely, but will generally reduce staggering to levels smaller than "normal" flow oscilations. |
Hello Forum,
I am running a
Hello Forum,
I am running a LES case of a flat plate using oodles. I was wondering if anybody could comment on the drastic oscillations of pressure, which are present even in the pitzDaily tutorial in oodles. I undesrand pitzDaily is just an illustration of the use of LES, and z-direction boundaries for a LES simulation should be simmetryPlane, but I get the same wild oscillations. Furthermore, could anyboby give an example of how to use the filteredLinear convection scheme? I tried div(phi,U) filteredLinear, and I got an error saying such scheme requires a word as an input; so I tried U. Would you use it like this? to what field variables would you seggest applying filteredLinear? Thank you in advance, Alessandro Spadoni |
Dear Forum,
I forgot to men
Dear Forum,
I forgot to mention that my flat plate is moving, and even though the pressure is oscillating throughout the domain, velocity, k, nuSGS, B ... are looking ok. Thank you again, Alessandro |
you use filteredLinear as foll
you use filteredLinear as follows:
div(pi,U) Gauss filteredLinear; The oscillations are probably due to poor inlet or outlet boundary specifications. |
Dear Eugene,
My case is as
Dear Eugene,
My case is as follows: I am using oodles. I have a flat plate 32 cm long. My solution domain is x: general patch (which I called front) from -21 cm to -10.5 cm. type wall from -10.5 cm to 21 cm. The top part of the domain is at 40 cm. The domain extends along z from 0 to 5 cm. I would like to get a good steady-state solution to then analyze what happens if such flat plate starts vibrating. Boundary conditions: top --> type patch; physicalType slip; U (file 0/U) slip; p (file 0/p) slip; k (file 0/k) slip; B (file 0/B) slip; nuSgs (file 0/nuSgs) zeroGradient; nuTilda (file 0/nuTilda) slip; front --> type patch; physicalType slip; U (file 0/U) slip; p (file 0/p) slip; k (file 0/k) slip; B (file 0/B) slip; nuSgs (file 0/nuSgs) zeroGradient; nuTilda (file 0/nuTilda) slip; flatplate --> type wall; physicalType wallFunctions; U (file 0/U) uniform (0 0 0); p (file 0/p) zeroGradient; k (file 0/k) uniform 0; B (file 0/B) zeroGradient; nuSgs (file 0/nuSgs) zeroGradient; nuTilda (file 0/nuTilda) uniform 0; Inlet --> type patch; physicalType turbulentInlet; U (file 0/U) fluctuationScale (0.02 0.01 0.01); referenceField uniform (10 0 0); value uniform (10 0 0); p (file 0/p) zeroGradient; k (file 0/k) uniform 2e-05; B (file 0/B) uniform (0 0 0 0 0 0 0 0 0); nuSgs (file 0/nuSgs) zeroGradient; nuTilda (file 0/nuTilda) uniform 0; outlet type patch; physicalType inletOutlet; U (0/U) inletValue uniform (0 0 0); value uniform (0 0 0); p (0/p) uniform 0; k (file 0/k) inletValue uniform 0; value uniform 0; B (file 0/B) inletValue uniform (0 0 0 0 0 0 0 0 0); value uniform (0 0 0 0 0 0 0 0 0);; nuSgs (file 0/nuSgs) zeroGradient; nuTilda (file 0/nuTilda) inletValue uniform 0; value uniform 0; Initial Conditions Internal filed: U uniform (0 0 0); p internalField uniform 0; k uniform 0; B uniform (0 0 0 0 0 0 0 0 0); nuSgs uniform 0; nuTilda uniform 0; frontandBack type symmetryPlane; LESmodel oneEqEddy; delta cubeRootVol; I make sure the Courant number is at or below 0.2. I understand that the above boundary conditions are not ideal for near-wall-modeling (wall functions) simulations, as usually, the velocity at the wall is expressed in terms of shear stress and mean velocity. However, after I tune the current case, I am looking to simulate a vibrating wing of chord 0.7 m with free-stream |V| ~~ 50-100 m/s at seal level. Given my cluster of 6 computers, near wall resolution may be too expensive. The above case was adapted from the oodles/pitzDaily case. Would you recommed specifying the total pressure or a reference value for it? This is the first time I work with LES, so forgive me if some of the above settings are blatantly wrong. I was wondering if you had any suggestions or comments. Thank you in advance, Alessandro Spadoni |
1. Slip boundaries should be w
1. Slip boundaries should be walls, not patches.
i.e. top --> type wall; irrelevant: physicalType slip; U (file 0/U) slip; p (file 0/p) zeroGradient; k (file 0/k) zeroGradient; irrelevant: B (file 0/B) slip; nuSgs (file 0/nuSgs) nuSgsWallFunctions; not used for this model: nuTilda (file 0/nuTilda) slip; For a real wall, all you change is U (file 0/U) fixedValue; value unfirm (0 0 0); Basically, your boundary conditions are all wrong. The tutorial isn't much use unfortunately, because it was created with low Re mesh in mind. 2. Initial conditions: k should have a small positive value (1e-10) 3. delta: vanDriest - needed for poorly resolved near-wall meshes to provide the correct length scales. Anyway, good luck. |
Hi Eugene,
Can you please e
Hi Eugene,
Can you please expain why slip should be used with wall and not patches. I use slip on patches for LES and it works fine. Also I got that information from the following thread (read "January 08, 2007" two messages). The reason the I do not use wall instead of patch with slip b.c is that I use wall functions on some other wall that I have in the domain and there is interaction between specifying a surface as wall and the wall function (for example, distance from the wall is needed if wall function is used and is calculated when you specify the surface as wall. Please correct me if wrong). In brief, I use wall only if simple b.c. is used on a surface or a wall function is applied to it to avoid the interaction that I do not clearly understand. http://www.cfd-online.com/OpenFOAM_D...es/1/3194.html Please if this wrong, correct my information since I use such b.c. a lot. Thanks in advance. Best regards, Maka. |
You hit the nail on the head.
You hit the nail on the head.
If you do not specify a slip boundary to be a wall, no wall distance calculation is done. There are many turbulence models and other utilities which use distance from the wall as a length scale. What you are saying by making the slip boundary a patch is that the scale of the turbulence in the vicinity of the boundary has no relation to the proximity of that wall. This is clearly erroneous, as even a slip wall will restrict turbulent scales normal to the surface. In general using a slip patch will not cause stability problems, but it will produce incorrect behavior for several RAS and LES turbulence models. |
Hi Eugene and Make,
Just to
Hi Eugene and Make,
Just to summarize, my case is a flat plate and I have a region 1/2 the length of the plate in front of it. I use such region to avoid problems related to having a boundary layer at the inlet. What I would really like to do is to say that all variables in front of the flat plate are computed from the rest of the domain. Same thing for the top part of my domain. Can this be done, i.e can I use "calculated" boundary conditions in LES? Furthermore, I have a couple of questions about inlet and outlet specifications: I specify my inlet to be"turbulentInlet" with field variables: k fixed value value uniform 2e-5 nuSgs zeroGradient B fixed value uniform (0 0 0 0 0 0) p zeroGradient U turbulentInlet fluctuationScale (0.02 0.01 0.01) referenceField uniform(10 0 0) value uniform (10 0 0) I specify my outlet to be"inletOutlet" with field variables: k inletOutlet inletValue uniform 2e-5 value unifrom 0 nuSgs zeroGradient B inletOutlet inletValue uniform (0 0 0 0 0 0) value uniform (0 0 0 0 0 0) p fixedValue value uniform 0 U inletOtlet inletValue (10 0 0) value (0 0 0) Can I use extrapolated outlet in LES? Could you comment on the above boundary conditions? Again, my goal is to simulate a flat plate in an unbounded domain. Thank you for your help, Alessandro |
Sorry Maka, I mespelled you na
Sorry Maka, I mespelled you name.....my apologies
|
Sorry Maka, I mispelled your n
Sorry Maka, I mispelled your name.....my apologies.
I seem to have serious typing problems... |
No problem Alessandro. I just
No problem Alessandro. I just do not have enough experience to answer you questions, espeially about inlet b.c. Thanks Eugene de Villiers for the explanation.
Best regards, Maka. |
Dear Forum,
just as an obse
Dear Forum,
just as an observation that I forgot to attach to the previous message, Uz velocity is indeed symmetric about the x-y plane. This gives me confidence that cyclic boundary conditions are being enforced correctly. Thank you again, Alessandro |
Sorry, I meant to say:
"Uz
Sorry, I meant to say:
"Uz velocity is indeed cyclic about the x-y plane" Alessandro |
Hello
Could I kindly ask you whether applying "LES Model: laminar" in Les Property folder will create implicit LES in OPENFOAM? If no, how we should apply implicit LES in OPENFOAM? Thanks in advance |
Quote:
|
Quote:
|
Thanks,
What about nusgs near wall? Maybe there is a ratio between nusgs and nu? In oneeqeddy nusgs = c*delta*sqrt(k). If k -> 0, delta -> 0 as y+ ~ 1 => nusgs -> 0.But nusgs may varried depending on k and y+.And I don't understand what value of nusgs should be near wall. |
Quote:
is the correct BC for the wall (if, for nothing else, the equation you wrote there) and really is the only reasonable one. How nuSgs varies as we start to move away from the wall (as y+ increases) depends on your method. You could either be using a wall function for nuSgs or you could have a sufficiently fine grid (suspect this would be the case for most people using LES) to properly represent it. Please let me know if I'm not being clear. |
Now I have BC on wall for nusgs - zeroGradient, so I must set fixedValue = 0 if y+ ~ 1?
Sorry,I don't understand initial condition for k on WALL must be near 0 or initial condition on INLET must ~ 0? |
Quote:
Yes, for nuSgs and y+ ~1, you may use nuSgs_WALL ~ 0. Your condition for K_WALL should also be near 0. I am assuming you are using 1-equation eddy. The condition for inlet can be K_INLET ~ 1e-5 or 1e-6. In other words, some small value but not zero. It really depends on your case. The only time I've used 1-equation eddy I used that condition and got good results. |
Thanks for your answers!
My case is flow past cylinder.I have mesh with y+ 0.1-1. And I have following problem if I use k_inlet~0.96 (1.5(UI)^2) -> Cd ~0.8. if k_inlet~0.01-0.0001 -> Cd~0.3 but in experiment Cd~0.55+-. |
Quote:
|
I use libforces.lib and then plot result in labplot.For k~0.96 pulsation of coeffs occur near 0.8, for small k near 0.3.End time is sufficiently large.
|
Quote:
I have done study on sphere using DDES. I take the time average of the flow and compute the drag from the sum of pressure and viscous forces acting on the body from the mean solution. Maybe you could try that also for comparison. Drag gets a little tricky when using libforces, especially for an unsteady simulation. |
And what scheme for grad and div(phi,U) did you use?
|
Quote:
Gauss limitedLinear 0.3; |
What about internalField for k? Did you set this = k_inlet value or 0?
|
Quote:
|
Dear Eugene,
Thank you for this suggestions. Do you know any papers or threads in which the LES results from linear and this filteredLinear2V for convection scheme are compared or validated? In the latter, we have two parameters that can be adjusted: "filteredLinear2V 0.2 0". If the first one (0.2 here) is small, this scheme seems equilevant to the linear. The comments from the source file are: Code:
// Scaling corefficient for the gradient ratio, Code:
// Maximum allowed overshoot/undershoot relative to the difference The link for the source file is here: Code:
https://github.com/OpenFOAM/OpenFOAM-2.1.x/blob/master/src/finiteVolume/interpolation/surfaceInterpolation/limitedSchemes/filteredLinear2/filteredLinear2V.H |
Quote:
This is an old thread but I would like to revive it. I assume much more people have done LES on OF by now. Any developments on convective schemes? As for filteredLinear, we have 5 to choose from (including the V variants) and also a bunch of parameters. Any guidelines/suggestions? |
All times are GMT -4. The time now is 02:06. |