|
[Sponsors] |
January 5, 2015, 13:05 |
strange boundary layer with dbnsTurbFoam
|
#1 |
New Member
Jens
Join Date: Apr 2014
Posts: 28
Rep Power: 12 |
Hi foamers,
I wish you a happy new year! Here is my first problem for 2015 : i created a test case for a channel flow where the upper and lower boundaries are no slip walls, back and front are inlet and outlet and the side patches are symmetry planes. I want to use dbnsTurbFoam (with local time stepping) and RS turbulence modelling with wall functions. I use first order discretization for turbulence and roe/venkatakrishnan for rho, rhoU and rhoE (second order). The attached image shows the case with very strange near wall results. What i tried: - no turbulence modelling (works fine) - using k-epsilon model (even worse, see picture) - first order discretization (no improvement, very strange right?) - different limiter (no improvement) - global time stepping (- " -) In the simulation i'm actually trying to perform the boundary layer is not as bad as in the test case. But still oscillations in wall normal directions. I think this is due to the fact that the walls end in the domain and not at the outlet (worst results in test case). I would really appreciate your advises. Jens |
|
January 12, 2015, 12:04 |
|
#2 |
New Member
Jens
Join Date: Apr 2014
Posts: 28
Rep Power: 12 |
When I use a cellMDLimited gradient scheme there are no unphysical maxima anymore but the boundary layer still seems to be too thick.
Has anybody an idea? Thank you, Jens |
|
March 2, 2015, 12:32 |
|
#3 |
New Member
Jens
Join Date: Apr 2014
Posts: 28
Rep Power: 12 |
Hello,
the problem was that I just copied the thermophysicalProperties from somewhere without checking it. The Southerland constants where wrong... But i am still struggling with the wall functions for dbnsTurbFoam with RSTM turbulence. The turbulent quanteties at the wall are about 50% lower than those i calculated with kEpsilon model (and both kEpsilon and RSTM in Fluent). This leads to very different wall shear stresses. Has anybody experiences with compressible wall functions for RSTM modelling? For the incompressible case there is an anisotropic wall function for R. Thanks for your hints |
|
March 3, 2015, 12:35 |
|
#4 |
New Member
Jens
Join Date: Apr 2014
Posts: 28
Rep Power: 12 |
Okay this is really strange,
i allways had the feeling, that the wall functions don't work properly so I added some lines like "Info<< "\n P = " << P[202] << endl;" to check the terms in the transport equations at a wall point below epsilon_.boundaryField().updateCoeffs(); in LaunderGibsonRSTM.C. After recompiling the turbulence models my problem was solved. Obviously the updateCoeffs() function didn't do anything. But why??? |
|
March 23, 2015, 10:05 |
|
#5 |
New Member
Jens
Join Date: Apr 2014
Posts: 28
Rep Power: 12 |
I don't know if someone's reading this, but I keep on writing .
When I shift to a more complex case (with some bad cells) the results are still not satisfying. The first picture shows the R values on the wall calculated by fluent (formula 4–216 on http://www.arc.vt.edu/ansys_help/flu...c_rsm_bcs.html). The second one is a foam result where R is calculated according to LaunderGibsonRSTM.C (by mut and the velocity gradients). The values are about 50% lower (different scale) and the distribution seems to be non-physical in some regions. For the third case I implemented the fluent formulation in OF. The magnitudes of R are now similar to the ones calculated by fluent, but the field is not smooth. The mesh influence is visible in both foam cases. Does anybody know how to get smoother results in openFoam? My current fvSchemes is: Code:
ddtSchemes { default EulerLocal physDeltaT CoDeltaT; } gradSchemes { default cellMDLimited leastSquares 1; } divSchemes { default none; div(phi,k) Gauss upwind; div(phi,epsilon) Gauss upwind; div(devRhoReff) Gauss linear; div((devRhoReff&U)) Gauss linear; div(phi,R) Gauss upwind; //div(R) Gauss upwind; } laplacianSchemes { default none; laplacian(DkEff,k) Gauss upwind phi corrected; laplacian(DepsilonEff,epsilon) Gauss upwind phi corrected; laplacian(alphaEff,h) Gauss linear corrected; laplacian(DREff,R) Gauss upwind phi corrected; } interpolationSchemes { default linear; } snGradSchemes { default corrected; } |
|
April 6, 2015, 09:16 |
|
#6 | ||||
Retired Super Moderator
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,982
Blog Entries: 45
Rep Power: 128 |
Hi Jens,
Quote:
Code:
foam ./Allwmake > log.make 2>&1 I'm glad you did, otherwise there wouldn't be a record of this. Quote:
Quote:
Quote:
Code:
ddtSchemes { default EulerLocal physDeltaT CoDeltaT; } gradSchemes { default Gauss linear; } divSchemes { default none; div(phi,k) Gauss linear; div(phi,epsilon) Gauss linear; div(devRhoReff) Gauss linear; div((devRhoReff&U)) Gauss linear; div(phi,R) Gauss linear; //div(R) Gauss linear; } laplacianSchemes { default none; laplacian(DkEff,k) Gauss linear corrected; laplacian(DepsilonEff,epsilon) Gauss linear corrected; laplacian(alphaEff,h) Gauss linear corrected; laplacian(DREff,R) Gauss linear corrected; } interpolationSchemes { default linear; } snGradSchemes { default corrected; } In addition, if you could share a simple test case, it would make it easier for me/others to try things out as well Best regards, Bruno
__________________
|
|||||
April 6, 2015, 10:00 |
|
#7 |
New Member
Jens
Join Date: Apr 2014
Posts: 28
Rep Power: 12 |
Hi Bruno,
I'm glad to hear that I'm on your to-do-list and thanks for your help. I will try second order for turbulence but I think last time I did that I've run into stability problems. Unfortunately I can't share the case from the last post where the problem occurs, but I will upload the one from the first post if s.o. wants to test some settings. Regards, Jens |
|
April 29, 2015, 09:36 |
|
#8 |
New Member
Jens
Join Date: Apr 2014
Posts: 28
Rep Power: 12 |
Hi,
I have a question about post #17 on this topic: http://www.cfd-online.com/Forums/ope...mentation.html Roman says: "I am not completely sure, but I think the zeroBoundary condition is evaluated while solving kEqn in Code: kEqn().relax(); solve(kEqn); bound(k_, kMin_); " If this is right the R equation is solved with zeroGradient boco for every single reynolds stress component when I use kqRWallFunction. Which makes physically no sense in my opinion. The loop in the end, respectivly in the RWallFunction, only changes shear components so it doesn't affect k and thus y*, G, epsilon and mut are evaluated based on wrong TKE. I changed the R boco to fixedValue and use the fluent implementation to calculate R (where the stresses are calculated in a local coordinate system). First simulations seem to be promising. What do you think? Best regards, Jens |
|
May 3, 2015, 13:36 |
|
#9 | |
Retired Super Moderator
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,982
Blog Entries: 45
Rep Power: 128 |
Hi Jens,
Quote:
I can figure out what you mean by "boco", which is probably "boundary condition". But the "R equation" I can't figure out for certain. Sorry, but this isn't my area of expertise, hence not being fully familiar with the terminology for the turbulence models. I guess you're referring to how the equations for "k" and "epsilon" are being solved? If this is the case, then here's what I know:
In addition, this reminds me of a recent thread: http://www.cfd-online.com/Forums/ope...-resource.html - although the document mentioned there relates mostly to the k-omega and Spalart-Allmaras implementations. Best regards, Bruno |
||
May 4, 2015, 09:00 |
|
#10 |
New Member
Jens
Join Date: Apr 2014
Posts: 28
Rep Power: 12 |
Hi Bruno,
thanks for your reply and sorry for the acronyms. By boco I mean boundary condition. By R equation I mean the transport equation for the reynolds stresses. I have high reynolds numbers. I just wonder if the boundary conditions are automatically updated when the solve() function is called, because for epsilon there is a line epsilon_.boundaryField().updateCoeffs(); but for k in k-epsilon and R in LaunderGibsonRSTM there nothing accordingly. Regards, Jens |
|
May 10, 2015, 16:00 |
|
#11 | |
Retired Super Moderator
Bruno Santos
Join Date: Mar 2009
Location: Lisbon, Portugal
Posts: 10,982
Blog Entries: 45
Rep Power: 128 |
Quote:
The need for calling the one for epsilon earlier is... I gotta look into the source code... wait, I wrote about this a few days ago... see post #5 on this thread: http://www.cfd-online.com/Forums/ope...tml#post544806 |
||
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
sliding mesh problem in CFX | Saima | CFX | 46 | September 11, 2021 08:38 |
[snappyHexMesh] Snappy creates strange cells far away from boundary | vainilreb | OpenFOAM Meshing & Mesh Conversion | 3 | December 16, 2020 06:11 |
Divide Prismatic Boundary Layer Mesh causes overlapping faces | SilentRunner42 | enGrid | 4 | May 4, 2015 04:37 |
Error finding variable "THERMX" | sunilpatil | CFX | 8 | April 26, 2013 08:00 |
Grid Independence of Boundary layer | Luigi_ | Main CFD Forum | 0 | December 14, 2011 14:42 |