Sure, I am doing it.
I have a small doubt, for epsilon do I need to use epsilonWallFunction?? top0 (wall) { type epsilonWallFunction; value uniform 0.26295; } |
If you have y+~1, you can resolve the full boundary layer, so that you don't need to use any wall function. :)
Simply put k=1e-9 and epsilon = 1e-9 at the wall and you should be good! |
the key word should be fixedValue right?
top0 (wall) type fixedValue; value uniform 1e-9; |
yep, that's right.
|
Out of curiosity, I tried to use the k-omega model on some basic test cases. The version implemented in OpenFOAM is the original Wilcox 1988 model. Impossible to get a solution!
Has someone already faced this problem? I checked in the .C and .H, but could not find any mistake in the implementation so far... |
Actually, it seems to work. I just needed to be more careful with the initial and boundary conditions...
|
Dear All,
As Joachim and others instruction, I have tried both LaunderSharmaKE and kOmegaSST for low re calculation. but none of them working fine. the Boundary conditions which i used are For kEpsilon model: 0/k: internalField uniform 0.39; boundaryField { inlet { type fixedValue; value uniform 0.39; } wall { type fixedValue; value uniform 1e-12; 0/e: internalField uniform 0.26295; boundaryField { inlet { type fixedValue; value uniform 0.26295; } wall { type fixedValue; value uniform 1e-12; } 0/nut: internalField uniform 0; boundaryField { inlet { type calculated; value uniform 0; } wall { type nutLowReWallFunction; value uniform 0; } for kOmegaSST: 0/k: internalField uniform 0.39; boundaryField { inlet { type fixedValue; value uniform 0.39; } wall { type fixedValue; value uniform 1e-12; 0/Omega: internalField uniform 3.7; boundaryField { inlet { type fixedValue; value uniform 3.7; } wall { type omegaWallFunction; value uniform 1441; } 0/nut: internalField uniform 0; boundaryField { inlet { type calculated; value uniform 0; } wall { type nutkWallFunction; value uniform 0; } it seems for low re kepsilon the boundary conditions are fine but the simulation crashes due to floating point, the same error for kOmegaSST. I tried different BC as well but none of them working fine. can you guys spend few minutes to check my BCs to find what is wrong? Thanks, Sivakumar |
Hello Sivakumar!
I did some low Re simulations with k-omega-SST model and it worked fine for me. Your bc's look good to me (only refering to k-omega-SST), so there may be another problem with your simulation. For k you could also try a zero gradient bc. For nut you could try to set the value to zero (like in the nutLowReWallFunction) or just don't correct it (calculated). Maybe your freestream bc's are not appropriate but thats hard to say without knowing the characteristics of the flow. Regards, Andre |
Hi Andre,
Thanks for your reply, I believe that the problem could be mesh. however checkMesh is not giving any warning and error message. Thanks, Sivakumar |
Sivakumar, did you resolve the problem? I have the same issue. I have two meshes which, in essence, are identical but one is fine with around 2000k cells and the other is coarse with around 500k cells. The fine mesh spends most of the extra cells near the walls and so the y+ min/max/avg are significantly lower.
OpenFOAM 2.2.2 blows up on the fine mesh but solves perfectly on the coarse one. I've been changing nut/k/omega BCs to whatever is suggested here on cfd-online without luck. I will continue to investigate on the mesh distribution close to the walls since some say that smoothness is important for OF. My mesh is made from blockMesh so it is already quite smooth, but there is certainly stretching near walls. No checkMesh issues. Mads |
Dear Mads,
Yes, I have solved that problem, the cases are running fine. I have few questions, which turbulence model you want to use? what is the yplus value for the fine mesh? , I think KOSST will be fine with all kind of y+ values, but for LaunderSharmaKE we need be little bit careful. my problem was yplus value, it was less than 1(people usually says y+ less than or equal to 1 will be fine, but in my experience not), that is why my case was diverging, now I changed the y+ value to in between 3 to 5 its working fine. I hope you will be fine with BC's, if you need any info regarding that please go through the below link. http://www.cfd-online.com/Forums/ope...ase-setup.html Thanks, Sivakumar |
Dear Sivakumar,
thank you for your reply. My geometry is quite complex so y+ varies quite a lot from one area to another. I try to get as low on y+ as possible because I know that I need low-Re treatment in certain areas but in other areas I save cells and get a larger y+ (maybe even into the hundreds). A code like CFX copes nicely with this using their automatic wall functions but I am not sure how this works out in OpenFOAM - it crashes for now :) It seems that it should be ok to use omegaWallFunction as it "automatically" adopts to local, sensible, y+ whereas I am more uncertain about the wall treatment for k. I am not going to use LaunderSharmaKE. I think I will try to remesh so I don't have y+<1 anywhere which seems to have been your problem. Mads |
2 Attachment(s)
Joachim,
I ran the case in Fluent and get the following: Attachment 29862 And also compared to Spalart-Allmaras: Attachment 29863 http://www.cfd-online.com/Forums/dat...BJRU5ErkJggg== |
Jonathan, I don't know if you still use it, but the function you call "gammaStar0" is not correct. At least not compared to Fluent.
In Fluent they don't use the "SST" beta_i but the regular "k-Omega" beta_i for the "beta_i / 3.0" calculation. So you neet to change it to return 0.072 / 3.0; instead of return betai(F1) / 3.0; |
Please find a working version of the incompressible sst model with low-Re wall damping functions here:
http://www.cfd-online.com/Forums/ope...ng-fluent.html |
Hi Phillip,
thanks for the post + correction. I havent had time to check the correction you made, but surely it is correct - I didnt get anyone willing to help debug first time around :) when i get a chance i will look and see why i wrote it like i did! cheers and regards jonathan |
It's not your fault. It's the Fluent manual that is misleading.
There is also a second typo in the Fluent manual in the omega production term, that I corrected in my code. |
Problems with validating kOmegaSST for channel flow
Hi Vesselin and Joachim
While using OpenFOAM 2.2x to implement two dimensional developed, channel flow with kOmegaSST, I have encountered the same results as Joachim and have found it quite difficult to figure out the issue. Here's a post where I talk about it. http://www.cfd-online.com/Forums/ope...nnel-flow.html Maybe I should try the same on OF 1.7x as suggested by Vesselin. |
Quote:
Regarding the (1) question, Menter probably is not the best source of answer. Please check the original paper by Wilcox (1991). Even for standard K-omega (wilcox), simple modifications (this is not what people usually called low-re correction) are still needed in order to integrate through viscous sub layer. By doing so, satisfactory prediction for ski friction and mean flow profile (But not the turbulence characteristic) can be obtain with standard K-omega formula. (This is not the case for Epsilon based model. Epsilon based model require extensive modification for just getting the mean flow profile right). While, in some applications where the correct prediction of turbulence characteristic (such as TKE peak near the wall) are needed in addition to just the mean flow profile, standard k-omega (simply modified) will require additional low-Reynolds modification (people usually call this low-Re correction for SST and K-omega) in order to get the right turbulence characteristic. If your simulation does not require detailed information over turbulence (TKE ,Omega ...), standard k-omega SST will do it. If you need to predict TKE peak or something, you need to include the low-Reynolds corrections. |
All times are GMT -4. The time now is 09:34. |