
[Sponsors] 
airfoil pressure coefficient in pisoFoam kOmegaSST 

LinkBack  Thread Tools  Search this Thread  Display Modes 
May 20, 2016, 05:20 
airfoil pressure coefficient in pisoFoam kOmegaSST

#1 
New Member
Join Date: May 2016
Posts: 12
Rep Power: 9 
Good morning,
i created a 2D NACA airfoil (angle of attack = 14°) with blockMesh and already checked it with checkMesh. Everything seems to be ok. The calculation (kOmegaSST) is runnning without any mistakes and the results look right at the first sight but the pressure at the suction side, especially at the tip is to low. Physically, the minimum pressure coefficient should be around 6, but i get a minimum of around 1 with a fine grid (4800 points on the airfoil). The more i refine the grid, the pressure value scales down in the wrong direction. I changed the grid many times but I'm not sure if it's a mesh mistake or a definition mistake in one of the system/, constant/ or 0/files. Does anyone have an idea or had the same problems? Thanks in advance Claus 

May 20, 2016, 08:17 

#2 
New Member
Join Date: Oct 2014
Posts: 26
Rep Power: 11 
Hi jck,
I think people will need a little more information. What are your BCs on the airfoil? What is your y+? etc... regards, teuk 

May 20, 2016, 09:08 

#3 
New Member
Join Date: May 2016
Posts: 12
Rep Power: 9 
Hey, that's true. I'm working with wallfunctions.
Code:
k: boundaryField { wing { type kqRWallFunction; value uniform 0.0096; } } Code:
nut: boundaryField { wing { type nutkWallFunction; Cmu 0.09; kappa 0.41; E 9.8; value uniform 0; } } Code:
omega: boundaryField { wing { type omegaWallFunction; Cmu 0.09; kappa 0.41; E 9.8; beta1 0.075; value uniform 9.8; } } Code:
p: boundaryField { wing { type zeroGradient; } } Code:
U: boundaryField { wing { type fixedValue; value uniform (0 0 0); } } Code:
fvSchemes: /** C++ **\  =========    \\ / F ield  OpenFOAM: The Open Source CFD Toolbox   \\ / O peration  Version: 2.3.0   \\ / A nd  Web: www.OpenFOAM.org   \\/ M anipulation   \**/ FoamFile { version 2.0; format ascii; class dictionary; object fvSchemes; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // ddtSchemes { default Euler; } gradSchemes { default Gauss linear; grad(p) Gauss linear; grad(U) Gauss linear; } divSchemes { default none; div(phi,U) bounded Gauss linearUpwindV grad(U); div(phi,k) bounded Gauss upwind; div(phi,omega) bounded Gauss upwind; div((nuEff*dev(T(grad(U))))) Gauss linear; } laplacianSchemes { default Gauss linear corrected; } interpolationSchemes { default linear; } snGradSchemes { default corrected; } fluxRequired { default no; p; } Code:
fvSolution: FoamFile { version 2.0; format ascii; class dictionary; object fvSolution; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // solvers { p { solver GAMG; tolerance 1e7; relTol 0.01; minIter 5; maxIter 100; smoother GaussSeidel; nPreSweeps 0; nPostSweeps 2; nFinestSweeps 2; cacheAgglomeration on; agglomerator faceAreaPair; nCellsInCoarsestLevel 0; mergeLevels 1; } pFinal { $p; tolerance 1e7; relTol 0.01; } U { solver smoothSolver; smoother GaussSeidel; tolerance 1e8; relTol 0.01; nSweeps 1; } k { solver smoothSolver; smoother GaussSeidel; tolerance 1e8; relTol 0.01; nSweeps 1; } omega { solver smoothSolver; smoother GaussSeidel; tolerance 1e8; relTol 0.01; nSweeps 1; } } PISO { nCorrectors 2; nNonOrthogonalCorrectors 0; pRefCell 0; pRefValue 0; } Code:
RASProperties: /** C++ **\  =========    \\ / F ield  OpenFOAM: The Open Source CFD Toolbox   \\ / O peration  Version: 2.3.0   \\ / A nd  Web: www.OpenFOAM.org   \\/ M anipulation   \**/ FoamFile { version 2.0; format ascii; class dictionary; object RASProperties; } // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // RASModel kOmegaSST; turbulence on; printCoeffs on; 

May 20, 2016, 12:19 

#4  
New Member
Join Date: Oct 2014
Posts: 26
Rep Power: 11 
Hi Claus,
there is a bunch of possible reasons for this. Quote:
There is a unlikely possibilty to have a to fine mesh. > What is your cellsize close to the airfoil (and y+)? Is this a lowRe simulation? Is your simulation in stall condition? > Do you expect a seperation bubble at this point? By "tip" you mean the Leading Edge? Since your results are getting better with a coarser mesh probably this is the solution. Unfortunately its easier to refine a mesh then coarsen it :P I'm not sure about GAMG for p. Could "blur" your field a little... regards, teuk 

May 20, 2016, 15:59 

#5 
New Member
Join Date: May 2016
Posts: 12
Rep Power: 9 
Hey teuk,
chordlength= 1m Re=1.85e+6 yes the airfoil should be in stall condition with "tip" i mean "leading edge" Is there a function for the cell size in ydirection or for the y+ value? I will try to calculate it with a coarser mesh on monday and tell you about the results because i only have access to OF during the week. Regards Claus 

May 24, 2016, 06:00 

#6 
New Member
Join Date: May 2016
Posts: 12
Rep Power: 9 
Hey,
i took the function yPlusRAS to calculate the y+ value on the wing. I get values from 0.7 in lowspeed area to ~30 in higher speed area (in the finer mesh calculation). Regards Claus 

May 24, 2016, 10:10 

#7 
New Member
Join Date: Jun 2014
Posts: 9
Rep Power: 11 
Hi Jck
If it is in stall condition, you probably should consider a 3D model. You can use periodic boundary conditions in the spanwise direction. Twodimensional models are not very good at computing forces in massive flow separation. Sometimes 2D unsteady SST or SA return reasonably good force values for flow past a cylinder at a few Reynolds numbers only. But looking at a wide range of Re = 3900 to 10^6, forces computed by 2D RANS are usually off on this geometry. By the way, with SST you can apply a very small wall distance so that y+~1. 

May 24, 2016, 10:38 

#8 
New Member
Join Date: May 2016
Posts: 12
Rep Power: 9 
Hey Kire,
the NASA made a similar calculation with a 2D grid and got good results. How can i apply a very small wall distance without waiting 6 days for the results of a very fine mesh? I read something about the function refineWallLayer. Could it work with it? 

May 25, 2016, 01:25 

#9 
New Member
Join Date: Jun 2014
Posts: 9
Rep Power: 11 
Hi Jck
1) Can you link me to the relevant NASA page? 2) Since you are running a transient solver, consider faster linear system solver settings: Code:
solvers { p { solver GAMG; tolerance 1e6; relTol 1e3; smoother GaussSeidel; nPreSweeps 0; nPostSweeps 2; cacheAgglomeration on; agglomerator faceAreaPair; nCellsInCoarsestLevel 10; mergeLevels 1; } pFinal { solver PCG; preconditioner { preconditioner GAMG; tolerance 1e06; relTol 0; smoother DICGaussSeidel; nPreSweeps 0; nPostSweeps 2; nFinestSweeps 2; cacheAgglomeration true; nCellsInCoarsestLevel 10; agglomerator faceAreaPair; mergeLevels 1; } tolerance 1e06; relTol 0; } U { solver smoothSolver; smoother GaussSeidel; tolerance 1e5; relTol 0; nSweeps 1; } k { solver smoothSolver; smoother GaussSeidel; tolerance 1e6; relTol 0; nSweeps 1; } omega { solver smoothSolver; smoother GaussSeidel; tolerance 1e6; relTol 0; nSweeps 1; } } PISO { nCorrectors 2; nNonOrthogonalCorrectors 0; pRefCell 0; pRefValue 0; } 3) I have never used the function refineWallLayer. What mesh generator do you use? It can be difficult to create lowRe cells in snappyHex. 

May 25, 2016, 03:56 

#10 
New Member
Join Date: May 2016
Posts: 12
Rep Power: 9 
Hey,
1) http://turbmodels.larc.nasa.gov/naca4412sep_val.html Here is link to the refineWallLayer function: https://openfoamwiki.net/index.php/RefineWallLayer I use blockMesh to generate my mesh in this high Re calculation 

May 25, 2016, 07:48 

#11 
New Member
Join Date: Jun 2014
Posts: 9
Rep Power: 11 
Hi Jck
1) I am certain you can control grid clustering easily in blockMesh. You can alter simpleGrading to control the wall distance. It is not necessary to use refineWallLayer. 2) It seems to me that the NASA validation was done in a compressible steady state solver at Mach = 0.09, where compressible effects are believed to not have much influence on the results. You can use incompressible/compressible SIMPLEC in this case. 

May 27, 2016, 05:18 

#12 
New Member
Join Date: May 2016
Posts: 12
Rep Power: 9 
Hi Kire,
1) yeah it's possible to control the wall distance with simpleGrading. I tried both ways. Sometimes the aspect ratio or the skewness were increasing. 2) Do you thing that the compressible solver could solve the problem with the pressure coefficient? I would be surprised because of the small Mach number. 3) Is it right, that there are two ways to deal with y+: 3.1) no wallfunctions > 110 cells in viscous sublayer, y+ < 1 3.2) wallfunctions > coarse grid, 30 < y+ < 300 (log law layer) 

May 27, 2016, 10:37 

#13 
New Member
Join Date: Jun 2014
Posts: 9
Rep Power: 11 
Hi Jck
1) I don't think aspect ratio is your biggest concern. A mesh can and will solve even when aspect ratio in the first layer is larger than 1000, the value at which OpenFOAM starts showing warnings. If it is a steady state solver, you can use leastSquares or its extended versions when having large skewness to try and preserve result accuracy. 2) I believe a pressurebased compressible solver will give you reasonably good results at such Mach number. How about trying it out? 3) a. No wallfunction for nut when y+～1. Simply use nut = 0 or nutLowReWallFunction ( nut = 0 ). Ten layers might be too many, try 5. Btw, I use 20 or more prism layers to cover the entire boundary layer. b. Yes, wall function as in wall function for nut, but still need 5~8 or more prism layers to cover the entire boundary layer. 

May 27, 2016, 11:18 

#14 
New Member
Join Date: May 2016
Posts: 12
Rep Power: 9 
Hey Kire,
1)I will tried it with the compressible solver and without wallfunctions. 2)Do i use the right definitions for k and omega: k=(3/2)*(U*Tu), Tu=turbulence intensityWith these definitions i get: k=0.00081656 and omega=544,3729 

May 31, 2016, 03:41 

#15 
New Member
Join Date: May 2016
Posts: 12
Rep Power: 9 
Good morning,
there is no big difference between the compressible and the incompressible calculation. The pressure coefficient is wrong in both cases. 1) What's about the boundary conditions? I don't believe that it's a mesh problem. 2) What is the best way to calculate y+? I read that yPlusRAS just calculates y* and not y+.Regards 

Tags 
airfoil, blockmesh, komegasst, pisofoam, pressurecoeff 
Thread Tools  Search this Thread 
Display Modes  


Similar Threads  
Thread  Thread Starter  Forum  Replies  Last Post 
Airfoil with simpleFoam and kOmegaSST: high drag values?  Tsiolkovsky  OpenFOAM Running, Solving & CFD  6  November 21, 2018 06:56 
High drag for airfoil compared to XFOIL and wind tunnel data  Ry10  SU2  15  October 30, 2016 18:27 
Question about heat transfer coefficient setting for CFX  Anna Tian  CFX  1  June 16, 2013 07:28 
Constant velocity of the material  Sas  CFX  15  July 13, 2010 09:56 
Hydrostatic pressure in 2phase flow modeling (long)  DS & HB  Main CFD Forum  0  January 8, 2000 16:00 