CFD Online Discussion Forums

CFD Online Discussion Forums (
-   OpenFOAM Running, Solving & CFD (
-   -   Matching cylinder drag (

bjr March 2, 2010 01:16

Matching cylinder drag
Hello all,

I am beginning to try to match the drag coefficients seen here:

My case setup for 1e5 Reynolds number can be downloaded from here:

All you need to do still is unzip and execute "simpleFoam > log.simpleFoam"
because the grids are already made with blockMesh and snappyHexMesh.

After varying Reynolds I get the following results... where the columns are as defined in the Wolfram link above...

Re Drag / L Drag (N?) C_D
1 0.0 0.00007 33091
10 0.0 0.00687 32621
100 0.0 0.00617 293
1000 0.0 0.06170 29
10000 0.1 0.62 2.95
100000 1.5 11.91 0.57
233333 6.3 50.71 0.44
1000000 106.2 849.85 0.40
10000000 10060.3 80482.00 0.38

I don't find to this very strong agreement with the Wolfram reference.

Any assistance is greatly appreciated.

Ben Racine

bjr March 2, 2010 02:24

I've attached some images...
5 Attachment(s)
I seem to be getting good results when it is inertia/pressure dominated and rather terrible results when it's viscous dominated... probably due to my very poorly resolved boundary layer mesh?

ngj March 2, 2010 04:30

Hi Ben

I have looked at your setup, and two things might cause the problems:

1. Looking at the discretization of the cylinder at the upper and lower wall they are completely different, and it appears that the mesh lines have a twist. Why are you making 3D computations when using simpleFoam, would that not be rather waist? The difference in mesh gives a non-uniformity in the direction of the cylinder.

2. As you pointed out yourself, the mesh resolution is rather coarse, and my best guess is that you will not be able to model the boundary layer and the boundary layer separation correctly using such a coarse mesh. Hence the prediction of drag coefficient will be difficult.

Best regards,


bjr March 2, 2010 04:41

Hi Niels,

1. This can be corrected by changing the line 43 of snappyHexMesh from

" max (4.0 0.7 2.5)"
" max (4.0 0.7 8.0)"

2. I've noticed that I am getting reasonable pressure drag. It seems the viscous drag is the suspicious part. This all seems to hang together that it's boundary layer resolution. But, I saw on the external aerodynamics thread...

... some talk of turbDragCoefficient... anybody know if that needs to be addressed in conjunction?

Ben Racine

bjr March 2, 2010 14:45

I think a relevant follow up question is... has anyone had much success setting up low Re grids with snappyHexMesh... i.e. with adequate near-body boundary layer resolution?

bjr March 2, 2010 15:28 contains an updated case setup... again just issue "simpleFoam > log.simpleFoam"

ngj March 3, 2010 02:39

Hi Ben

It is fairly easy to make a mesh with good mesh resolution near the cylinder surface using blockMesh. I have made some tests using that in the past and it works quite well. My suggestion is as you have problems obtaining sufficient resolution using snappyHexMesh, then try to use blockMesh and see the difference.

Best regards,


bjr March 3, 2010 20:20

Fair enough... for academic investigations... but, I'm hoping to find an algorithmic tet or hex-mesher that is also capable of creating a boundary layer. I'm half tempted to write the boundary layer part myself and then let one of these other tools treat that surface as the body itself... and combine the results.

bjr March 16, 2010 12:47

Turns out I didn't know about the Low Re version of the k-omega SST model. This was all failing at low Re and succeeding at high Re. There is a thread about the low Re version "out there".

All times are GMT -4. The time now is 08:24.