SimpleFoam: High residuals after increase in Reynolds Number
Hello,
I have been working with the SimpleFoam solver to model pressure drop of internally bounded flow through passages. For my current analysis I am assuming incompressible, steadystate, and smooth walls. I have been attempting to utilize the kOmegaSST model to account for turbulence. On my initial runs with a Reynolds number below 1,000 at the inlet my solution converges nicely with P residuals of 1E5. Once my inlet condition changes such that the Reynolds is in the "transitional" ~3,000 my Residuals seem to take more iterations to drop and drop to ~1e5. I then change the inlet condition such that Re=8,000 and my P residuals does not drop below 0.01, with Ux,Uy,Uz, k at ~0.001 and omega ~ 1e5. These residuals stay about the same for increasing Re up to 80,000 (highest I have attempted to run). I am using standard approximations for initializing the inlet parameters for k and omega. I am also using approximations to determine the height of the first cell layer in my mesh. The mesh is comprised of 10node tetrahedral elements with prismatic boundary layer with a fixed first cell height, layer compression for collision avoidance, and linear growth rate of 1.5. I have played around with my first cell height to accommodate the reduction in cell height required for higher Re flow. Given that the solution converges with low Re I am thinking my general mesh is adequate and that the issue is related to something with the turbulent wall functions. Any help is greatly appreciated! My boundary field is set as follows: K= boundary { type kqRWallFunction; value $internalField; } where: internalField uniform $turbulentKE; (this value is calculated and used as a fixed value for inlet BC) nut= boundary { type nutLowReWallFunction; value uniform 0; } omega= boundary { type omegaWallFunction; value $internalField; } where internalField uniform $turbulentOmega; (this value is calculated and used as a fixed value for inlet BC) 
Bump.
I am still having difficulty. I suspect my high residuals for increased Re are an artifact of my mesh, but I am not certain if my turbulence model and choice of wall treatment are prone to cause these errors. 
I don't have the solution but it's an interesting issue.
I'm not sure that the increase of the residuals can affect the quality of your solution more than the normal approximations you're already taking (i.e. smooth walls) Since your residuals stabilize I don't see any problem with them. There is/was lots of discussion about their behavior and if I correctly remember Alberto express this concept some times ago. I'm going to look for the thread... What if you refine the mesh ? Regards, 
I have attempted various meshing approaches, most of which involve a tet mesh with a prismatic boundary layer. I started with setting a fixed first cell height for the boundary layer based on a handcalc guideline, and then I started varying the growth rate and number of layers.
The meshing technique I use (Ansys Workbench) does generate nonorthogonal elements at many of the sharp corners, but it says it passes the checkMesh utility. I am still not convinced the residuals of 0.01 are very good since the model I am running now is predicting a delta P of 76 psi for a manifold that was tested to be 85 psi nominally. For the time being, I may have to increase my density by ~10% to build in a margin of safety on my pressure drop. Granted, I am assuming smooth walls when the actual manifold is not perfectly smooth. 
Sometime ago I tested a pressure driven flow in an almost cylindrical pipe just to see how the finess of the mesh and the kind (tet or hex) of it will influence the flow rate compared to a real pipe.
Sure, I used SimpleFoam and kOmegaSST... More than the resolution it was the tet mesh that gave the biggest difference (about 10%). You could try using SnappyHexMesh to get an hex mesh and see what's happen. Can you post a picture of your mesh ? Regards, 
3 Attachment(s)
I have been using SimpleFoam and kOmegaSST as well. Attached is a quick image I found of one of my mesh iterations on a less complex model.
I am still not well versed in meshing within OpenFOAM so I have not yet attempted to use the SnappyHexMesh. 
If you are using ANSYS for your meshes, why not convert your tets to arbitrary polyhedron and then import to OpenFOAM? In the past, this helped me when dealing with complicated meshes...especially with convergence. Its worth a try.

Interesting. Could you explain this a little further? I am currently take my *.msh file from Ansys and running "fluentMeshToFoam *.msh scale 39.36996" to convert my Ansys metric mesh into US units for OpenFOAM.

well, this one is a bit complicated. In Fluent there use to be a drop down menu that was "convert my mesh to polyhedra" and you were left with a converted mesh. Then, you need to export the ascii .cas file and import it into OF using fluent3dMeshToFoam. The only downside is that the conversion requires a lot of memory, so make sure your computer has a lot of RAM, say something nice to it, and then let it do its converting business. In the mean time, go get a coffee. I did this for 40 million cell tet meshes and it reduced the cell count tremendously.

I will look into this. I may not have access to that menu option since I do not have a license for Fluent, only the mesher for Ansys Mechanical which has CFX meshing criteria. I have 32 GB of ram and most of my .msh files are <150MB, so I should have sufficent ram.

your other option is to use polyDualMesh and convert to arbitrary polyhedral cells in OpenFOAM. This requires your tet mesh to be of highquality, Delaunay trianglated, and maybe a few other minor requirements (i forget at the moment). This is also worth a try if you do not have access to the features in ansys. Search the forum for polydualmesh and if it works then post back the solution to this thread for others to follow.

Thanks for the suggestion, I appreciate it. I have been fair dissapointed with the lack of user meshing controls in Workbench, and routinely battle with less than desirable meshes that have many nonorthogonal elements.

Just a note. In the very first post you wrote omega at the inlet is 1e5. I've never used such a small value. Is it correct ?

That was my residual.

Here is an example of my initial condition file:
Quote:
Quote:
Quote:
Quote:
Quote:
Quote:

RASProperties (which I admit, I am not well studied on the ramifications of the kOmegaSSTCoeffs)
Quote:
Quote:
Quote:
Quote:

1 Attachment(s)
Attached are the residuals from a current run that has nNonOrthogonalCorrectors 2.

Ops, i'm sorry for the misunderstanding about residual of omega :o
Other than using an hex mesh I would suggest you to try relTol=0 in your solution. BTW a very good start to snappyhexmesh is into: http://www.openfoam.org/docs/user/snappyHexMesh.php and http://www.openfoamworkshop.org/2012...ningSlides.tgz Regards, 
2 Attachment(s)
Thanks for the links. Attached are pictures of my current mesh I am working with. Below is the output from the checkMesh utility. I assume the nonorthogonal faces are setting a limit on my residuals, but it is interesting that I can take the same mesh and run with a viscosity that results in sufficiently laminar flow and obtain a nicely converging solution with 1e5 residuals.
I am attempting to model steadystate, incompressible, turbulent flow so I assume the simpleFoam solver is best suited for my needs, is this a reasonable assumption? After some reading I came to the conclusion that the kOmegaSST model is best suited for my internally bounded flow with Reynolds numbers ranging from 2,0009,000, typically. Quote:

Well, this is again a good question. I consider kOmegaSST model trustable for my applications.
I could verify the results of some simplefoam turbulence cases up to Re about 1e5. I have to say that I work mainly with pressure driven flow and we monitor the flow rate only...I don't know whether this can be judged a trustable verification (well, for me it can !) But we need to wait someone more expert...anyone ? Regarding your mesh: Quote:
Regards, 
All times are GMT 4. The time now is 15:31. 