strange boundary layer with dbnsTurbFoam
1 Attachment(s)
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 |
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 |
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 |
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??? |
3 Attachment(s)
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 |
Hi Jens,
Quote:
Code:
foam Quote:
Quote:
Quote:
Quote:
Code:
ddtSchemes 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 |
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 |
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 |
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 |
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 |
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 |
All times are GMT -4. The time now is 15:22. |