CFD Online Discussion Forums

CFD Online Discussion Forums (
-   CFX (
-   -   Lift and Drag Monitor Point Values Converging to Zero (

Josh August 3, 2010 16:32

Lift and Drag Monitor Point Values Converging to Zero
Hi all -

I'm running an external aerodynamics simulation of low Re flow (Re = 50k) on a 2D NACA 0012 airfoil at a 5 degree angle of attack with CFX. My mesh is well-resolved and of high quality (max y+ = 0.97, min quality > 90%). I created it in ICEM using 2D planar blocking and exported it as a Fluent mesh, which I then imported into Pre. CFX automatically extrudes 2D Fluent meshes by one element to create a 3D simulation. I simulated a 5 degree AoA in Pre by setting u = veloc*cos(5) and v = veloc*sin(5).

I wanted to monitor the lift and drag as convergence was reached. I created monitor points in Solver while the solution was running of the normal force on airfoil (x) and normal force on airfoil (y), which should be the drag and lift forces, respectively. Strangely, the lift and drag values seem to converge to zero, as shown below.

Furthermore, when I stop the simulation and open up CFD-Post, I receive the following error:

"Application error in CFD Post."

Using the function calculator in Post, my drag and lift values are 0.063 N and 0.022 N, respectively, which are far too small for the NACA 0012 airfoil in this regime.

Has anyone else experienced this problem before? Is it possibly a problem with importing a Fluent mesh into CFX? Could the problem lie within my method of setting angle of attack?

Any and all help is welcome and appreciated.

ghorrocks August 3, 2010 21:56

This is a very low Re. Where is the transition point? You may find that most of the foil is laminar. Have you tried a laminar only model?

Josh August 4, 2010 00:01

Good point, Glenn. I hadn't thought of that. I don't have the literature with me at the moment, but I'll get back to you tomorrow with the transition point (assuming it exists).

For the record, I used the SST with Gamma Theta Transition turbulence model (as shown in the monitor points above).

ghorrocks August 4, 2010 06:31

Yes, I saw you are using the turb transition model. You can look at the intermittency variable to find where CFX is predicting the transition.

Josh August 4, 2010 17:02

I reran the simulation as laminar using the previous results as the new initial results. The solution continued to periodically oscillate at a very low residual, which leads me to believe the flow is entirely laminar. Also, the literature indicates no transition occurring at this Re.


The solver stopped after it reached my specified maximum run time of 6 hours. Observing the results in Post, it appears that the timesteps only went as high as 1E-8 s. Once again, my lift and drag are essentially zero. Also strange is that y+ is no longer available for measurement. Since y+ is not a function of a turbulent parameter, I have no idea why it is no longer available for measurement.

I'm considering rerunning my simulation with larger timesteps, though I fear this may cause the solution to "blow-up". What do you think? Any other suggestions? Any idea why y+ is no longer available? Could the fact that my simulation has only simulated a fraction of a second in time be the reason for the skewed values (i.e., the flow hasn't "fully developed")?

ghorrocks August 4, 2010 19:39

y+ is only defined for turbulent flows. It has no meaning for laminar flows. To get adequate mesh resolution for a laminar flow you have to do a mesh sensitivity study.

Yes, your flow may well not be fully developed. Definitely run a longer time. You may need to start with small timesteps but ramp them up as it settles down. You should be able to run very large timesteps once the flow is established.

Josh August 5, 2010 13:00

Sounds good, Glenn.

I ran it with adaptive timestepping for 1000 additional iterations (about 14 hours) - it only reached a timestep size of 7.5E-8 s and the simulation cost me 10 GB of space.

I'm going to try increasing the minimum timestep size as my computational resources are somewhat limited.

Josh August 9, 2010 21:41

I'm starting to think this is a problem beyond modeling issues. I think it may have something to do with the CFX-ICEM interaction.

I ran a second simulation with the same mesh but a higher Re (to simplify things). My initial simulation was run at a low order of accuracy (laminar, upwind discretization, steady) just to establish the flow. From there, I have increased the order of accuracy step by step (SST turbulence, high resolution discretization, though still steady). I am receiving monotonic MAX residual convergence at an order lower than 1E-10, even for the turbulent kinetic energy and turbulent frequency! As I speak, it continues to converge monotonically. Based on previous experience, it's converging as if the airfoil is inviscid. I double-checked that my boundary condition for the airfoil was still a no-slip wall. It is.

In addition, from the data I have extracted, my pressure graphs are comparable to published DNS data for the same conditions, but my friction graphs are 100x too small. My lift and drag values are nil, as well, both in the monitor points and while using the function calculator. The results are shown below.

Obviously, something is going on with my wall shear. It's far too small. The solution is converging too simply, the lift, drag, and wall shear are tiny, and yet the pressure forces are relatively accurate.

Does anyone have any suggestions? Has anyone had a similar problem before? Thanks for any help.

ghorrocks August 9, 2010 22:40

What does the overall lift and drag compare like? Is your problem in calculating wall shear (ie post-processing) or in the simulation?

You need to check whether you have a simulation problem or a post processing problem.

Josh August 9, 2010 23:24

Using the function calculator, the lift was of the order of 5E-4 N and the drag was around -1E-5 N (yes, negative). The monitor points of my current simulation agree with the same values.

Therefore, I'm almost positive it's a simulation problem, but I can't figure out what I'm doing wrong. In Post, I created a polyline on the airfoil and exported the wall shear, pressure, and coordinates from both the airfoil and the airfoil polyline (just to be safe) to a .csv file. I used the following equations for Cp and Cf:

Cp = pressure / (0.5*density*U^2)

Cf = wall shear / (0.5*density*U^2)

Cp isn't quite right, but should improve when I include gamma-theta transitional turbulence in the SST model. However, the wall shear values are tiny.

I want to say it's a simulation problem because:
a) the monitor points agree with the post-processing results,
b) the solution continues to converge monotonically to extremely small residuals despite that there should be unsteady, complicated flow behaviour for this airfoil at this AoA and Re (and I'm modeling it as steady).

For the record, here are some qualitative results - they look reasonable.

ghorrocks August 10, 2010 07:25

Something is very strange here. I don't know what is wrong but here is some comments:
1) Convergence to 1e-5 should be more than adequate for most cases. You have gone way past that - something is weird there.
2) CFX should only need 100-200 iterations to converge to a steady state solution if one exists. If you need thousands of iterations something is wrong.
3) You are still solving the wallscale equation after alomst 1000 iterations. It should converge and not require further solving after 10 iterations or so.

How deep is your model in the z direction? What boundary conditions do you have on the Z faces?

Josh August 10, 2010 11:18

I agree that something is very strange. I've never had a solution converge to a residual that low, nor have I ever required more than, say, 500 iterations to obtain a steady state solution.

In ICEM, I extruded the mesh to one element deep, then exported it to Pre. I am treating the Z faces as symmetry conditions.

I'm really at a loss here. It almost seems like some kind of error.

Josh August 10, 2010 14:35

Well, I feel like an idiot. The experimental data I was comparing to had a tiny prefix that I didn't see - the Cf data was to the order of 10^-3.

I switched to the transitional SST model. The results began fluctuating at a high residual. I extracted these graphs:

Much better, as you can see, though still off on the Cf graph. But this still doesn't account for my tiny values of lift and drag, nor does it explain why the SST model without transition managed to monotonically converge all the maximum residuals to 1E-12 or so after 5000 timesteps.

Also, the wall shear (Cf) graphs are difficult to interpret as wall shear is an absolute value. I have to guess and check where the Cf graph passes zero (i.e., the separation point). Do you have a better way to predict where the separation point(s) is/are and when the Cf graph is positive/negative?

ghorrocks August 10, 2010 22:03

I guess the dissipation the turbulence model puts in is enough to damp out any oscillations. That is what turbulence models are meant to do.

Josh August 11, 2010 00:25


Originally Posted by ghorrocks (Post 271056)
I guess the dissipation the turbulence model puts in is enough to damp out any oscillations. That is what turbulence models are meant to do.

Yeah, that's all I can figure.

As for the lift and drag, because I'm using a two-dimensional model, I don't think the "force" functions apply properly. Instead, I tried using the "forceNorm" functions, which returns the value per unit width, and received more accurate coefficient of lift values. Strangely, my drag values are negative, but I'll see how the transient results pan out.

ghorrocks August 11, 2010 06:27


(2D model).. I don't think the "force" functions apply properly.
Interesting. I would report this to CFX support, sounds like a bug if you are correct. Best get it investigated and fixed.

Josh August 11, 2010 11:02

Yeah, it's strange, alright. The force function provided values that were 1000x too small. Using a polyline, the forceNorm functions provided the same values, but of the proper order of magnitude (e.g., 6 N instead of 0.006 N).

I'll report it to Ansys.

Josh August 17, 2010 21:43

After much deliberation and many discussions with my professor, who doesn't trust CFX's built-in force calculator, I manually integrated the pressure and wall shear values to obtain the lift and drag forces and obtained much better results than with the CFX calculator. My drag values were no longer negative. In fact, they were very close to the experimental results.

I recommend this method to anyone calculating lift and drag on a simple geometric shape. It takes significantly longer, but at least you can monitor the entire process so that you understand exactly what you are calculating rather than relying on an all-too-convenient built-in function calculator.

I'm going to update the CFX FAQ in the Wiki with this, if you think it's reasonable, Glenn.

ghorrocks August 17, 2010 21:46

Your hand calculation should be less accurate than the CFX calculator. The calculator should take into account the full integration points and control volumes whereas your calculations will only be able to use the coarser nodal values.

So if you have shown the function calculator is wrong then you have found a bug. Please report it as a bug and get it fixed.

Josh August 17, 2010 21:52

Hi Glenn -

Fair enough. I reported it as a bug over a week ago and haven't received any response. Hence, I went ahead with a manual calculation.

All times are GMT -4. The time now is 01:58.