CFD Online Discussion Forums

CFD Online Discussion Forums (
-   CFX (
-   -   Drag over-prediction (

MadsR February 22, 2010 06:00

Drag over-prediction

I get drag overprediction from CFX simulations of an 2D airfoil

Setup info:
1. I have an 2D airfoil setup in CFX
2. Mesh is created in ICEM Hexa. 200k->900k mesh dependent tests done
3. max(y+)<1
4. turbulence model is k-omega-SST
5. fully turbulent, no transition
6. angle of attacks investigated 0-15deg
7. Re is 3e6
8. domain extents sensitivity is investigated, 60chords of domain extent is found sufficient
9. butterfly/O-mesh, inlet (bottom/left)-outlet(top/right) BC's
10. high-resolution and specified blend factor of 1.0 is investigated
11. convergence to 1e-6 (max residuals) and lift/drag convergence monitored

I compare these CFX results with an academic code which has a good track record. I get less than 1% discrepancy on the lift coefficient, which is quite good. But drag (which I know is harder to resolve) is off by up to 20% (more than the academic code).

Any suggestions on what to check? Help would be greatly appreciated.


ghorrocks February 22, 2010 20:37

What accuracy did your mesh and boundary proximity tests show?

What turbulence model does the academic code have? What about turbulence inlet conditions? Is a turbulence transition model needed?

MadsR February 23, 2010 03:34

Hi Glenn. Thanks for your feedback. I am in the process of doing formal grid dependence tests but proximity-tests showed that I needed around 60-chord-lengths of extent to get best results. Drag was 40-50% off when using a 40-chord-extent mesh and now down to 20% when using 60-chord-extent. 80-chord-extent doesn't improve anything.

The turbulence model used by the academic code is the same as mine, mentioned above (k-omega-SST). Transition model is needed but this case is run with and without and I am currently testing without and comparing to academic results without transition.

It is my experience that setting a turbulence level does not change solution as it is so far away from the airfoil that it will dissipate way before reaching the airfoil. Do you experience otherwise? Turbulence inlet level is zero in the academic simulations and set to "low" in mine.

Thanks, and please continue to ask such questions, there might be something else I have missed :-)


Bak_Flow February 25, 2010 20:33

Hi MadsR,

This is interesting. I did a bunch of cases back about 5 years ago with CFX and found about the same over-prediction. I was doing simple NACA uncambered airfoils ie 0012, 0009, 0012, etc.

At the time the transition models had not been full implimented and the story was that the difference between experiments and predictions were due to the lower skin friction from leading edge to tranition point in the experiments. The other major issue was that stall was predicted late and under-predicted.

I actually found that smaller domains upstream could be used reliably if you are careful about setting k and epsilon at the inlet. As you point out k dies away if you have a finite epsilon at the inlet. What you have to do is ensure that you have turbulent viscosity = 0 or some constant by the time the flow gets to the leading edge. AND be consistient between different domains!

Another thing you have to be careful with for turbulence quantities is that most codes never let k=0 because of divide by zero for terms like (eps/k) which is used in all the linearizations, etc. So each code will have some different arbitrary number. You just have to make sure that you are consistient.

Yet another thing in CFX is that k and epsilon are solved first order by default (since wiggles can produce negative numbers and stability problems....divergence). So you can get some unexpected things happening near the leading edge where k~0 upstream.

I have not revisited these cases which were pretty disappointing for such simple cases ~ 5 years ago! There probably are some new settings, etc to fix things up by now. The interesting lesson from these cases is that you really learn what is important when you apply a code to such a simple geometry. The drag on the airfol(unstalled) is all skin friction....and if you don't get the models set-up right.....look out! A 3-D case with flaps, separation, etc. "hides" some of these details.

What academic code are you using?

Let us know how you make out!



MadsR February 26, 2010 03:36

Hi Bak_flow and thanks a lot for your valuable input. I can't comment much on the academic code since I am not using it and are referring to to results which have been kindly handed to me by the academic institution. I am sure they don't mind, but you never know.

Nice points about the inlet turbulence and turbulence is still solved by first order numerics in CFX by default. Also zero values causes issues.

At the moment I am following two paths: 1) mesh dependency study with different meshes to observe truncation error and 2) two mesh-domains in ICEM, i.e. one for the near-profile-domain and one for the outer part. They end up being one domain, but in this way I can ensure that the boundary-layer cells do not move when I expand my domain.

I will get back with more results and/or indications later.

ghorrocks February 26, 2010 05:46

CFX V12 has high order numerics for the turbulence model as an option. You might need this for your application.

Does the academic code have the SST model? While the basic idea of the SST model is published in the open literature there are lots of under-the-hood bits of it which are proprietary. I don't think the turbulence models will be the same unless you choose something like k-e, and even then you have to be careful about the issues Bak-flow mentions and the order of the turbulence numerics.

MadsR February 26, 2010 07:36

Thanks for your feedback, Glenn :-)

I will look into the second order numerics for turbulence.

SST: Yes, and both results are with SST model. I am also thinking that the academic code might feature some "tuning" of parameters and I have to investigate this further.

Keep posting such valuable info.


MadsR February 26, 2010 09:40

Initial experience with high resolution numerics on turbulence is that it won't converge...In my grid dependence study I have three meshes and with highres turbulence numerics I can't get convergence on the coarsest mesh. Actually normally you would convergen more easily on coarse meshes due to the high numerical diffusion, but I guess not when it comes to this case.


ghorrocks February 28, 2010 18:41

Of course the high resolution numerics will be harder to converge. Use the results you already have as an initial condition, that should help a lot.

MadsR March 1, 2010 04:25

@Glenn: Well I guess not necessarily so. The "high resolution" in CFX is just a automatic blending function so in theory it should give good convergence. At least that's how it works for the advection numerics. In case of "trouble" it switches to first order, else it is second order central differencing.

Naturally, I started out from a previous simulation with pure upwind on the turbulence terms, and it just doesn't converge. Well, it does converge to in-between 1e-3 - 1-e4 but not in a smooth way as the turbulence-upwind which converges to machine precision in one smooth swoop. Neither does it converge from a complete restart, which makes sense.


ghorrocks March 1, 2010 17:29

Have you run through the suggestions here:

Now you are resolving the turbulence more accurately you are probably picking up smaller and possibly transient features and these are causing convergence difficulties.

MadsR March 2, 2010 03:49

Hi Glenn. Thanks a lot for that pointer - I will look through it.

I found that changing between zero pressure at the outlet or averaged zero pressure at the outlet changed roboustness (the averaged being the most robust, which seems reasonable).

Bak_Flow March 8, 2010 20:48

Hi Mads,

another option you might look at is setting the blend factor for the turbulence equation discretization yourself.

I am a bit of a doubter and don't always like the code making decisions for me....and in some cases have seen some wierd things going on to back it up....with hi-res!!

You have to play a few tricks since the gui does not have the blend factor option. You can either edit the .ccl yourself and inject it into the def file or you can use the def file editor starting with a .def for hi-res. for turbulence and then adding the appropriate parameters ie switch the parameter for turbulence to specified blend factor and then adding the blend factor you want.

Usually something like 0.9 or 0.95 will give you near second order for convergence of turbulence quantities and should be as robust as hi-res...and you know what you have got!

Let us know how the results look and if you need any more pointers.



MadsR March 9, 2010 03:39

Hi Bak. I totally agree with you, I also prefer to explicitly specify such figures. Thanks for the info.


Dr. Flow Squad March 24, 2010 01:05

Hi Mads.
What was the outcome of this? Still difficult drag predictions?

MadsR March 24, 2010 04:29

Hello Dr Flow Squad :-)

Well, I am still trying and now I tested for sensitivity of y+. I have varied max(y+) from 0.23 to 4.2. Quite expected as long as max(y+)<2, Cl does not vary much (about 0.5%) but when max(y+) get above 2 I get a difference of 5-10%. Also as expected.
For Cd, the value changes around 2-3% when max(y+) varies below 2 and by 20% when max(y+) goes up to 4.

It seems that max(y+)<2 is okay. Nothing new here, I know, but I just did the check with CFX and the SST model.


All times are GMT -4. The time now is 05:59.