CFD Online Discussion Forums

CFD Online Discussion Forums (
-   CFX (
-   -   Drag Coefficient Verification around Cylinder (

MFerris July 1, 2008 12:54

Drag Coefficient Verification around Cylinder
I am trying to do a basic verification of drag coefficient around several basic shapes starting with a simple cylinder. I'm using the force values calculated in CFX to calculate the coefficient of drag. The Cd is quite low compared to data from various text. Yplus values are well below 1. Domain is very large compared to cylinder. I've simulated over several Reynold's numbers (Cd varies with Re). I've been working with ANSYS/CFX tech support for several days and they're scratching their heads as well. Has anyone performed a simple verification of external flow around a cylinder with satisfactory results? Cd should be around 1.2 for Re of 10^3 to 10^5. I get around .65 along with the ANSYS support folks.

Glenn Horrocks July 2, 2008 18:12

Re: Drag Coefficient Verification around Cylinder

Your drag number is about half the correct value - are you sure you are not just getting the force on the top half of the cylinder? Alternately if you are using symmetry have you multiplied it by 2? Also, is your drag number including both wall friction and pressure forces?

Beyond that it is a matter of accuracy - is the upstream and downstream boundaries far enough away? Is your turbulence model appropriate? Is your simulation adequately converged? Is the simulation mesh/timestep independant?

Glenn Horrocks

MFerris July 2, 2008 18:34

Re: Drag Coefficient Verification around Cylinder
I've gone through all the basic error checks and many advanced checks to no avail. I've been working with a couple ANSYS/CFX support guys for several days now. They're getting the CFX turbulence guru involved. This seems to be the most basic verification that anyone would do prior to calculating a drag coefficient on any shape. I've tried both square and circular cross sections and the Cd comes out much lower than text numbers. Have you ever done a verification of drag forces on any shape? Is it possible to have a yplus value too low? My yplus values are well below .1. I'm using the SST turbulence model.

Glenn Horrocks July 3, 2008 01:47

Re: Drag Coefficient Verification around Cylinder

There is no inherent problem with using CFX to accurately predict drag numbers, many people have done it plenty of times. Drag is a difficult number to get accurate as it depends on a lot of the fine details in a simulation, including upstream turbulence, surface roughness, blockage factor etc.

From memory, y+ about 0.01 might start to cause problems. The check is easy, just remesh with a larger y+ but still below 1 and see if it changes.

Glenn Horrocks

MFerris July 3, 2008 09:49

Re: Drag Coefficient Verification around Cylinder
I have tried the full range of y+ values from over 100 to below .01 but for the most part have aimed to keep them in the .3 to .6 range. The only thing to work so far is to coarsen my mesh so that my cylinder is really more of an octogon, but I know that's not the right approach. My goal is to be able to predict wind load on cell tower antennas. But before I can have confidence in my results, I should be able to predict the wind load on basic shapes such as squares and cylinders. I'm using SST model. Air at 25C (tried using ideal gas but made no difference)

Glenn Horrocks July 3, 2008 18:18

Re: Drag Coefficient Verification around Cylinder

There is a lot more to mesh refinement than just y+! You have to look at the spacing around the cylinder circumference, the expansion ratio away from the surface, the transition point to tets away from the surface (if you are using tets), the element size far away from the cylinder, the elemetn size in the wake region etc.

Your comment that if you coarsen the mesh the cylinder turns into an octagon is a worry - it sounds like you need lots more elements around the circle circumference.

Be assured CFX can accurately model what you are trying to do, you just need to find a good enough mesh and the right solver settings to get it.

Glenn Horrocks

matt ferris July 8, 2008 18:26

Re: Drag Coefficient Verification around Cylinder
Please understand that my comment about the octogon was a joke. My frustration level is very high at this point. I have refined my mesh around a simple circle with 720 elements around the circumferance (one every .5 degrees). This should be more than enough to define the cylinder. My elements in the inflation area are almost cubicle. I've had up to 80 elements in my inflation layer. My mesh is text book (meaning very nice). I don't think it should take 1 million elements to run an analysis on flow around a cylinder. If anyone has succesfully used CFX to accurately predict drag forces for a cylinder or any other basic shape, could you post your solver settings on the web or on this post. As I have said, it seems to be a prerequisite to analyzing drag forces on any more complex shape.

M July 10, 2008 18:22

Re: Drag Coefficient Verification around Cylinder
Hi Matt

There are indeed validation done for flow over a cylinder at ANSYS. Although it seems simple, it is infact a difficult problem because of the unsteady nature of the actual result. The value of the drag coefficient depends heavily on the location of boundary layer separation, this location is difficult to determine using 2 equation turbulence models. In addition when you model the full cylinder the unsteady nature of the problem should result in difficult convergence for steady state simulations.

That being said, the first thing to look at are your experimental results. I found these in a paper Re ExperimentalResults [1] 1 13.0 40 1.8 150 1.5 500 1.2 1000 0.9 5000 0.98 1e06 0.25

The varification run were conducted using initially LES and more recently using Transitional turbulence model for unsteady time-averaged Cd. These results are much better than fully turbulent steady state simulation at lower Re.

Obviously unsteady runs will be more computationally costly. Additional things that you may try are, use half symmetry to make the simulation steady and 6 equation models to better capture the large separation of turbulence structure.

Lastly, you can ask the support engineer to bring others into the discussion. 2 heads are generally better than one.

Best regards.

Josh December 7, 2009 19:34

Re: Drag Coefficient Verification around Cylinder
Bumping this topic. I'm having similar issues.


My geometry is large enough upstream to allow the flow to develop fully and large enough downstream to avoid backflow or other undesirable effects in the outlet. The cylinder is 6 inches in diameter.


I have tried several meshes with sensitivity analyses. The cylinder is infinitely long in the z-direction (Extruded 2-D Mesh), there is a refined control volume around the cylinder and its wake, and there is an inflation layer on the cylinder. I have tried halving the mesh size to observe the effect it had on drag, but the values of drag were similar in both cases. The largest (final) inflated layer is approximately equal to the coarser mesh surrounding the cylinder, so there should not be any interaction problems there.


The inlet velocity provides a Reynolds number of approximately 4.3 x 10^4. This is still laminar, though vortex shedding should be observed. I have tried both laminar and turbulent models. The best turbulent model for qualitative results (i.e. accurate separation) has been the SST model. The fluid is air at 25 C. The simulation is steady - I know, it should be unsteady for vortex shedding, but bear with me. The outlet has 0 Pa relative pressure, the sides are symmetry planes (infinite for 2D simulation), the top and bottom are inviscid (free slip), and the cylinder is a no slip wall.


I halved the convergence tolerance levels to observe the effect on drag, but very little difference between the two simulations was observed.

When I run the simulation as laminar, the results do not converge. When I run it with any turbulence model, the results converge, but the separation is delayed. At this Re, separation should occur at approximately 80 degrees from the front stagnation point. With the SST turbulence model, separation is before the 90 degree point. I found this by calculating the pressure gradient in the x direction (dP/dx) at points along the cylinder. At about 78 degrees from the front separation point, the dP/dx becomes larger than zero and, thus, separation should occur shortly after that.


The flow should be laminar, but the laminar turbulence model doesn't seem to allow the results to converge. With the turbulence models, the results converge, but (with the exception of SST) the separation point is inaccurate. The coefficients of drag are too small.

I was thinking of running the simulation as laminar but unsteady. If I do, though, how can I calculate the coefficient of drag? That is, the coefficient of drag will be different at each timestep, will it not?

Any other suggestions?

Josh December 7, 2009 20:46

I should also ask...

If I do use a transient analysis, chances are I'll run it with adaptive timesteps initially. Assuming I use minimum and maximum timesteps of 1E-20 and 1E20 respectively, what should I specify as the time duration?

ghorrocks December 7, 2009 21:45

The laminar solution does not converge because the flow is transient and you are using a steady state model. You need to run transient.

If you know the flow is laminar then use a laminar flow model.

Output the cylinder drag as the solution progresses (use a monitor point). This will allow you to capture the full history of the drag. Then you will have to average it against time, just like in the experiments. Note you only average the section after it settles down into a repeating pattern, unless you want the startup transient as well.

The time duration should be long enough to allow the flow to establish a regular, repeating cycle. Give it a very long time to start with and watch it as it progresses. Let it keep going until you have enough of a regular pattern to get a good average result.

Josh December 7, 2009 22:05

As usual, Glenn comes to the rescue. Thanks, as always.

If my minimum and maximum adaptive timesteps are 1E-20 s and 1E20 s respectively, would a total time of 1 second be considered a long duration?

ghorrocks December 7, 2009 22:08


As usual, Glenn comes to the rescue.

I have no idea if 1s is long enough. How long does the flow take to settle in real life? Take that time and double it. Even better, run it for 1E20s and monitor it and when it is done manually stop it.

Josh December 8, 2009 13:47

Well, I ran it for 1 second (Time per run) with minimum and maximum adaptive timesteps of 1E-20 s and 1E20 s, respectively. I let the simulation run for 14 hours. It oscillated at high residuals. Here's a picture of the solver window. The purple rectangle is the simulation I ran.

Despite the lengthy computing time of 14 hours, the timesteps never came close to the 1 second total time specified. 9.78001E-18 s was the final timestep reached. However, because the results were oscillating, I stopped the simulation.

The separation point seems reasonable. The picture below shows separation on the top of the cylinder. The yellow marker indicates a point 80 degrees from the front stagnation point. At this Reynolds number (Re = 43202), we expect separation at 80 degrees, so the separation point seems accurate.

However, when I calculate the drag values at various timesteps, they are extremely inaccurate. For example, at timestep 9.78001E-18 s, the drag force is -1.03533e+011 N, indicating thrust. At timestep 9.75001E-18 s, the drag force is -2.28682e+010 N, once again indicating massive thrust. The drag values fluctuate between negative and positive.

Also, I'm having a difficult time qualitatively displaying the vortex shedding. I've created vectors in the wake region, but streamlines are preferable. However, streamlines travel around the cylinder. When I create a line in the wake region and indicate that I want another set of streamlines to start at that line, I end up with the following picture. The vertical yellow line is where the streamlines start.


Should I increase the minimum timestep size (i.e. higher than 1E-20 s)?

My adaptive timestep update frequency is 1 (i.e. updates every timestep). The timestep increase and decrease factors are 1.06 and 0.8, respectively. Are these values suitable? Perhaps larger values are necessary?

My drag values are ridiculously high, and sometimes indicate thrust. When I ran the simulation as steady, the values were too low, but not ridiculously low (about 20% of the theoretical values). Any possible explanation for this?

Any suggestions as a nice way to model vortex shedding in the wake region? As shown above, my conventional method is pretty poor. Something like the video below would be desirable, only I'd rather use streamlines than a velocity contour:

Any other suggestions, comments, or questions are welcome and appreciated. Thanks for any and all help.

ghorrocks December 8, 2009 18:26

My main comment is you should judge whether it has a repeating cycle by looking at the cylinder force, not the residuals.

Other than that you need to do the normal simulation verification and accuracy stuff - mesh, timestep and convergence.

Josh December 8, 2009 18:43


Originally Posted by ghorrocks (Post 239203)
My main comment is you should judge whether it has a repeating cycle by looking at the cylinder force, not the residuals.

Other than that you need to do the normal simulation verification and accuracy stuff - mesh, timestep and convergence.

I did - I had monitor points calculating the force_x@cylinder. When the value became constant, I stopped the simulation. The monitor point of force is shown below:

As can be seen, it looks like the force becomes steady somewhere near 0, hopefully at about a value of 1 [N], so I stopped the simulation. The output file, however, as well as the function calculator keep giving ludicrous drag values (from 1E-12 to 1E12 [N]), and that's after ignoring the first number of timesteps where the values jump up very high and drop very low (as shown in the picture).

I have performed a sensitivity analysis with my mesh and convergence criteria, but not the timesteps. Still, these values are so off-the-wall that I figured it must be something else.

ghorrocks December 9, 2009 06:40

That simulation used a turbulence model. You should not need a turbulence model, so run laminar. Also zoom into the "steady" bit of the curve. It probably has oscillations which you can't see with the big scaling.

Josh December 9, 2009 15:19

Thanks for the continued support, Glenn.

Actually, that is a laminar model - those turbulence tabs in the picture are there from previous simulations where I tried turbulent models.

You were right about the oscillations when zoomed in. It just bothered me that they weren't oscillating anywhere near the 1E-11 or 1E11 range, but the function calculator kept producing those values.

I tried running it with much larger timesteps (0.1 s for 30 s). The coefficient of drag values were a little better (CD = 0.414, should = ~1.5 for that Reynolds number). I am currently running a simulation with smaller timesteps (0.01 s for 30 s). Here is the drag calculation - you can see the previous calculations and current calculations, all hovering around D = 0.74 [N].


Thanks for all the help. Any further suggestions/comments as to why my drag values are too low?

ghorrocks December 9, 2009 17:33

From here it is just a matter of doing the normal checks for accuracy, things like discretisation schemes, proximity of boundaries and similar. You say you have already checked mesh and time step size.

Oh, and another thing - your model shows you are running 2D (or at least CFX's poor attempt at 2D). Are you sure the flow is 2D?

Josh December 9, 2009 18:21

Fairly positive. I set up a 2D extruded mesh and set the two sides (in the z-direction) as the periodic pair. It is one element thick. I also set those planes as symmetry planes. There is no flow in the z-direction (I set u = 4.45 m/s, v = 0, w = 0).

Thanks for all the help, Glenn. Wish I could figure this out.

All times are GMT -4. The time now is 16:44.