CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Running, Solving & CFD

NACA0012 Validation Accuracy Improvement

Register Blogs Members List Search Today's Posts Mark Forums Read

Like Tree2Likes
  • 2 Post By Alhasan

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   December 20, 2014, 22:37
Default NACA0012 Validation Accuracy Improvement
  #1
Senior Member
 
Alhasan's Avatar
 
Hasan K.J.
Join Date: Dec 2011
Location: Bristol, United Kingdom
Posts: 200
Rep Power: 11
Alhasan is on a distinguished road
Hey everyone,

- I have been trying to validate NACA0012 at 0 angle of attack at Re=400,000 before going to other complicated cases.
- My geometry: 5c before above and below the airfoil and 20c behind the airfoil quite standard.
- Top, front and bottom of the airfoil are treated as one patch and it is the joint together as the inlet and outlet behind the airfoil is outlet.

BC's U=30m/s k=0.0216, w= 9.4512, e= 0.01297, length scale l= 0.022 and turbulence intensity 0.4%.

I have also tried for inlet patch TOP
Code:
TOP
    {
        type            fixedValue;
        value           uniform 0.0216;
    }
Code:
 TOP
    {
        type            turbulentIntensityKineticEnergyInlet;
        intensity       0.004;
        U               U;
        phi             phi;
        value           uniform 0.0129;
    }
similarly for Omega
Code:
  TOP
    {
        type            turbulentMixingLengthFrequencyInlet;
        mixingLength    0.022;
        value           uniform 9.4512;
    }
I started with the Mesh dependency test and I have meshed using ICEM and here is my Check Mesh for the current case I am discussing
Code:
Create time

Create polyMesh for time = 0

Time = 0

Mesh stats
    points:           712214
    internal points:  0
    faces:            1418599
    internal faces:   706385
    cells:            354164
    boundary patches: 4
    point zones:      0
    face zones:       0
    cell zones:       0

Overall number of cells of each type:
    hexahedra:     354164
    prisms:        0
    wedges:        0
    pyramids:      0
    tet wedges:    0
    tetrahedra:    0
    polyhedra:     0

Checking topology...
    Boundary definition OK.
    Cell to face addressing OK.
    Point usage OK.
    Upper triangular ordering OK.
    Face vertices OK.
    Number of regions: 1 (OK).

Checking patch topology for multiply connected surfaces ...
    Patch               Faces    Points   Surface topology                  
    CURV1               1197     2394     ok (non-closed singly connected)  
    TOP                 2393     4788     ok (non-closed singly connected)  
    OUTLET              296      594      ok (non-closed singly connected)  
    frontAndBackPlanes  708328   712214   ok (non-closed singly connected)  

Checking geometry...
    Overall domain bounding box (-0.99999 -1 -0.0538516) (4 1 0.0538516)
    Mesh (non-empty, non-wedge) directions (1 1 0)
    Mesh (non-empty) directions (1 1 0)
    All edges aligned with or perpendicular to non-empty directions.
    Boundary openness (-2.54542e-18 -6.1943e-17 -5.4949e-20) OK.
    Max cell openness = 1.7313e-15 OK.
    Max aspect ratio = 87.6093 OK.
    Minumum face area = 5.10905e-10. Maximum face area = 0.00131659.  Face area magnitudes OK.
    Min volume = 5.50261e-11. Max volume = 1.33492e-05.  Total volume = 1.03045.  Cell volumes OK.
    Mesh non-orthogonality Max: 27.2457 average: 9.67064
    Non-orthogonality check OK.
    Face pyramids OK.
    Max skewness = 0.661473 OK.
    Coupled point location match (average 0) OK.

Mesh OK.

End
My y+ around the airfoil is 0.5-1 and I have not used wall functions.

Here is my Fv Schemes
Code:
ddtSchemes
{
    default steadyState;
}

gradSchemes
{
    default         cellMDLimited Gauss linear 0.5;
    grad(p)         cellMDLimited Gauss linear 0.5;
    grad(U)         cellMDLimited Gauss linear 0.5;
}

divSchemes
{
    default         none;
    div(phi,U)      Gauss linearUpwind grad(U);
    div(phi,k)      Gauss upwind;
    div(phi,omega)  Gauss upwind;
    div((nuEff*dev(T(grad(U))))) Gauss linear;
}

laplacianSchemes
{
    default          Gauss linear limited 1.0;
}

interpolationSchemes
{
    default         linear;
}

snGradSchemes
{
    default          limited 1.0;
}

fluxRequired
{
    default         no;
    p;
}
Here is my Fv Solutions
Code:
solvers
{
    p
    {
        solver           GAMG;
        tolerance        1e-7;
        relTol           0.001;
        //minIter          5;
        //maxIter          100;
        smoother         GaussSeidel;
        nPreSweeps       1;
        nPostSweeps      3;
        nFinestSweeps    3;
        scaleCorrection true; 
        directSolveCoarsest false;
        cacheAgglomeration on;
        nCellsInCoarsestLevel 50;
        agglomerator     faceAreaPair;
        mergeLevels      1;
    }

    U
    {
        solver           smoothSolver;
        smoother         GaussSeidel;
        tolerance        1e-16;
        relTol           0.01;
        nSweeps          1;
        minIter          1;
    }

    k
    {
        solver           smoothSolver;
        smoother         GaussSeidel;
        tolerance        1e-16;
        relTol           0.0;
        nSweeps          1;
        minIter          1;
    }

    omega
    {
        solver           smoothSolver;
        smoother         GaussSeidel;
        tolerance        1e-16;
        relTol           0.0;
        nSweeps          1;
        minIter          5;
    }
}

SIMPLE
{
    nNonOrthogonalCorrectors 0;
    
    pRefCell        0;
    pRefValue       0;

    residualControl
    {
        p               1e-9;
        U               1e-9;
        "(k|omega)"     1e-9;
    }
}

potentialFlow
{
    nNonOrthogonalCorrectors 10;
}

relaxationFactors
{
    fields
    {
        p               0.3;
    }
    equations
    {
        "(U|k|omega)"   0.7;
        "(U|k|omega)Final" 0.7;
    }
}

cache
{
    grad(U);
}
Initially I started my simulations with potential flow and then with turbulence off for about 1000 iterations and then switched on the turbulence and got quick convergence about 8000-10000 iterations for case with about 200,000 cells. I was looking for Cl, Cd, Cm convergence.

Basically all was going well until I got the results,
When I got the results I got good agreement with Cp distribution around the airfoil but not so great with boundary layer growth and wake which I have been trying to achieve for couple of days playing the Fv schemes and Fv solutions but the results don't even nudge for any change I make in the fv sch/sol.

The Cd also is quite high 0.4 it is supposed to be 0.008 and for a 2D case what is the 'Aref' you use in the forceCoeffs dict ?

Can you please advice on what mistake i could be possibly doing that is causing this variation in the boundary layer and wake validation. I have a very nice boundary layer mesh around the airfoil, no sudden changes in cell sizes measured the value of first cell size for y+1 using online calculator and used it.

Here are my results for KWSST, Saplart and KE. (the image name mentions SST,Splrt & KE)
Attached Images
File Type: jpg 045SST.jpg (36.4 KB, 76 views)
File Type: jpg 105SST.jpg (39.4 KB, 69 views)
File Type: jpg 045Splrt.jpg (35.9 KB, 62 views)
File Type: jpg 045KE.jpg (36.8 KB, 57 views)
bennn and Tauseef like this.

Last edited by Alhasan; January 15, 2015 at 09:47.
Alhasan is offline   Reply With Quote

Old   January 8, 2015, 13:55
Default
  #2
Senior Member
 
Alhasan's Avatar
 
Hasan K.J.
Join Date: Dec 2011
Location: Bristol, United Kingdom
Posts: 200
Rep Power: 11
Alhasan is on a distinguished road
Any one any suggestion ?
I have changed the y+ value to 30 and used wall functions there has been some improvement in the results but not as expected See the results posted below from Kw-SST model
Attached Images
File Type: jpg 750.jpg (29.5 KB, 61 views)
File Type: jpg 860.jpg (29.5 KB, 44 views)
__________________
"Real knowledge is to know the extent of one's ignorance." - Confucius
Alhasan is offline   Reply With Quote

Old   January 28, 2015, 06:50
Default same issue
  #3
Member
 
Gareth
Join Date: Jun 2010
Posts: 56
Rep Power: 12
bullmut is on a distinguished road
Hi alhasan

I am doing almost the exact same thing as you. My fv solutions and schemes looks the same as yours.
I did not run potentalFoam first though.

Sad news is i am also getting poor results.

I have my y+ above 30 since i am using wall functions.
I have been running this simulation for over 50000 steps.
Still no convergence.


Have you found out your problem and solved it as yet??
bullmut is offline   Reply With Quote

Old   January 28, 2015, 08:27
Default
  #4
Senior Member
 
Alhasan's Avatar
 
Hasan K.J.
Join Date: Dec 2011
Location: Bristol, United Kingdom
Posts: 200
Rep Power: 11
Alhasan is on a distinguished road
Quote:
Originally Posted by bullmut View Post

Sad news is i am also getting poor results.

Have you found out your problem and solved it as yet??
Hello Gareth,

Yes I have found the results I had to use the right Y+ to get the boundary layer accurately, However I could not manage to get results without using the wallFunctions and with Y+ = 1 which is what I am still trying to figure out any help here for me would be still appreciated.

However coming back to your problem,
- for convergence potentialFoam initialisation is very important in my opinion to give you an idea with potential foam I get convergence at around 7000 time step and without for the same case sometimes even 200,000 timestep. so I strongly advice potentialFoam initialisation.
- are you doing 2D or 3D simulation, and solver
- can you give me checkMesh results, some images close to the wall of the mesh and what software did you use to mesh ?
- you can start with a first order schemes upwind for everthing, it doesnt make much of a difference, I still got good results.
- what is the reynolds number you looking at and what are the turbulence model you have tried used and how bad is your result.

All the best,
Hasan K.J
__________________
"Real knowledge is to know the extent of one's ignorance." - Confucius
Alhasan is offline   Reply With Quote

Old   January 29, 2015, 01:40
Default
  #5
Member
 
Gareth
Join Date: Jun 2010
Posts: 56
Rep Power: 12
bullmut is on a distinguished road
Hi there

So i am using blockMesh to do my meshing. I am attaching the checkMesh output.
I am currently only do a 2D mesh, and trying to get results similar to those posted here
http://turbmodels.larc.nasa.gov/naca0012_val_sst.html
So my Re = 6e6 and wind speed of 51.45m/s

When i look at the cp around the foil i can see i have issues at the leading edge(LE).
This is also where i have trouble with my y+ value.

In blockMesh i set teh 1st cell height to be the same around the whole foil, and for the most part the y+ is greater than 30 and less than 500.. conditions for use of wall functions.

But at the LE my y+ drops to around 8... so my thinking is i need to change the cell height at this section to better accommodate my wall function.

You mentioned your y*/ was around 1, am i confused? I thought when i used wall functions i needed a 30 <y+< 500
Attached Files
File Type: txt checklog.txt (3.2 KB, 10 views)
bullmut is offline   Reply With Quote

Old   January 29, 2015, 08:39
Default
  #6
Senior Member
 
Alhasan's Avatar
 
Hasan K.J.
Join Date: Dec 2011
Location: Bristol, United Kingdom
Posts: 200
Rep Power: 11
Alhasan is on a distinguished road
Quote:
Originally Posted by bullmut View Post
You mentioned your y*/ was around 1, am i confused? I thought when i used wall functions i needed a 30 <y+< 500
Hey,

Sorry for not being clear I was talking about two different cases, one case using Wall functions and average Y+ of 30 on the airfoil - which was good enough to validate both my Cp distribution and boundary layer growth. Second case without using wall function and average Y+ of 1 where I can validate only Cp distribution and not the boundary layer growth this I am still trying to figure out how to achieve.

- there is more discussion about my particular case and how I got to the Y+ here startig from Post 16 http://www.cfd-online.com/Forums/ope...te-y-plus.html

- Also spend some time on this utility here which helps define the Y+ after the first simulation. http://www.cfd-online.com/Forums/ope...lus-field.html

It might be little long thread but it is worth the read.

Now coming back to your case

you need to choose a particular Y+ that is anything between 30 and 300 and fix it as a average Y+ around your airfoil when meshing. In my experience this has given the best result. you should start with average Y+ of 30 and carry on from there, your problem should be sorted if this is sorted in my opinion.

I take you have used KW-SST by any chance did you try K-E, K-W or spallart and see how better or bad the results were ?

Q. However recently I have been having problems with even Y+ 30 when I start with different angle of attacks the stagnation point is kind of smuged I dunno what is happening

but with zero angle of attacks there was no such problems.

All the best,
Hasan K.J
__________________
"Real knowledge is to know the extent of one's ignorance." - Confucius
Alhasan is offline   Reply With Quote

Old   January 29, 2015, 08:49
Default
  #7
Member
 
Gareth
Join Date: Jun 2010
Posts: 56
Rep Power: 12
bullmut is on a distinguished road
Hi Hasan

So i managed to get a good result with a 10 AoA for naca0012.
I have an average y+ around the foil of 200. Again the leading edge value drops to about 8.
The way i finally got a good result was a reworking of my mesh. BlockMesh is a pain to say the least. I am running a 15 AoA as a final check on my mesh. I have found the stagnation point is an issue. Os i am adjusting the y+ in the area.

That said the Cl and Cd match the validation data earlier mentioned (for 10 AoA). I killed the simulation when the CL and Cd values showed stability for a decent amount of iterations. My residuals at the time were not too good though. P was sitting at 1e-4 and the Ux and Uy at 1e-5. I have seen people set their residuals down to 1e-9 for cut off.. am i being to premature in stopping my sim?
Last question, what are your outlet conditions? I am using freeStream and it seems alright...

If you would like i can send you my case and see if you notice anything odd about my system of constant folder.
I would be willing to do the same for you too.

Thanks again for your help earlier
bullmut is offline   Reply With Quote

Old   January 29, 2015, 09:27
Default
  #8
Senior Member
 
Alhasan's Avatar
 
Hasan K.J.
Join Date: Dec 2011
Location: Bristol, United Kingdom
Posts: 200
Rep Power: 11
Alhasan is on a distinguished road
Hello Gareth,

What is your Cl and Cd from the simulation ?, because I have found the value changes with and without wall function.

Can you please post a closee up image of the stagnation point !! I want to see what is happening with such high Y+ of 200 personally I have never crossed 100 Y+ and you need to try to validate the Cp atleast because when the stagnation point doesnt look good the Cp distribution is ususally off the charts :/

when you have time please have a look at the utilities and links provided in my previous post !!

- Did you use potentialFoam and did you look at your residuals and what number of iterations are they converging, I personally have 1e-12 for K,W,U and 1e-9 for P and I get the convergence about 7000 iterations for zero angle of attack and 15000 iterations for 10 above angle of attack. only when you postprocess your results like the Cp and Boundary layer on the airfoil you will actually know if the convergence is enough.

- Boundary conditions depends from case to case, It depends on case you are trying to validate. Since I do validation of experiments most of the time, I use Fixed inlet and Zerogradient outlet. sometimes even inlet-outlet at the outlet patch.

that being said Cl, Cd and Cp distribution are very easy to achieve in CFD the problem is the boundary layer growth and aifoil wake validation that takes the energy out of you.

Blockmesh I have never managed to mesh an airfoil in blockmesh, I use Salome free opensource software when I did not have access to ICEM, and now using ICEM to mesh airfoil which lets you contol the mesh verywell.

all the best
Hasan K.J
__________________
"Real knowledge is to know the extent of one's ignorance." - Confucius
Alhasan is offline   Reply With Quote

Old   February 1, 2015, 09:39
Default Continuation
  #9
Senior Member
 
Alhasan's Avatar
 
Hasan K.J.
Join Date: Dec 2011
Location: Bristol, United Kingdom
Posts: 200
Rep Power: 11
Alhasan is on a distinguished road
Hello Everyone,

The answer for the question posted by me in this thread is assigning the right Y+ value for the case,

the answers were acquired from these two threads by the variant of my question from Post 16 here http://www.cfd-online.com/Forums/ope...tml#post526625

and post 52 http://www.cfd-online.com/Forums/ope...tml#post527314

Hope this saves your time,

Thanks for all the answers,
Hasan K.J
__________________
"Real knowledge is to know the extent of one's ignorance." - Confucius
Alhasan is offline   Reply With Quote

Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Accuracy & validation of Autodesk CFD? Koolifant Autodesk Simulation CFD 3 March 7, 2014 11:43
Accuracy Improvement sivakumar OpenFOAM Running, Solving & CFD 9 April 2, 2013 02:03
CFX problem in ubuntu (linux) Vigneshramaero CFX 0 July 13, 2012 11:22
CFX-Pre problem, pls help!!! cth_yao CFX 0 February 17, 2012 01:52
NACA0012 Validation Case Questions ozzythewise Main CFD Forum 3 August 3, 2010 15:39


All times are GMT -4. The time now is 21:31.