Drag coefficient is unusually low? How to fix this?

I am using CFD to optimizing the geometry of a competitive swim cap (including surface textures and patterns). As a baseline for comparison, I first performed an incompressible water flow simulation around a perfect sphere.

However, I have encountered an issue with the results. The simulation reports a drag coefficient of only 0.05 for the sphere, which seems much lower than the values I would expect based on the literature. This makes me suspect that there may be an error in my simulation setup or post-processing.

I would greatly appreciate any technical support or suggestions on how to diagnose and resolve this issue. If there are any common setup mistakes or parameters that I should check, I would be very grateful for any guidance.

Here’s the link to my project: https://www.simscale.com/workbench/?pid=1725414737655982545&rru=a58de216-b061-42a4-ad83-12fe8cfd943d&ci=63db602a-437a-4dac-86b3-7be135be8085&ct=PLOT&mt=SIMULATION_RESULT

Hi @yueqian_jiang,

Welcome to the forum! I tried to open your project to take a look at your setup, but the link is currently giving an error. This usually means your project is set to Private. To share it, you will need to click the “Share” button in the top right of your workbench and ensure the project is set to Public.

Even without seeing the project, a C_d of exactly 0.05 for a sphere points to a few very specific, classic CFD setup errors. Here is what you should check immediately:

1. The Reference Area (Most Likely Culprit)

In SimScale, the Drag Coefficient is calculated based on the reference values you input under Result Control > Forces and Moments.

  • The Mistake: Many users accidentally input the total surface area of the sphere (4*pi* r^2) as the reference area.

  • The Fix: The aerodynamic reference area for a sphere should strictly be the projected frontal area (pi*r^2).

  • Why this matters: If you accidentally used the surface area, your calculated C_d is exactly 4 times smaller than it should be. A C_d of 0.20 (which is expected for a sphere in the turbulent post-drag-crisis regime) divided by 4 gives exactly 0.05.

2. Other Reference Values

Double-check your Reference Velocity and Reference Density in that same Result Control panel. If these do not exactly match your inlet velocity and fluid density (Water = ~998 kg/m³), the resulting non-dimensional coefficient will be skewed.

3. The Drag Crisis (Reynolds Number)

What velocity and sphere diameter are you using?

  • In the subcritical regime, a smooth sphere has a C_d of roughly 0.47.

  • However, if your flow is very fast (Reynolds number > 3 *10^5), the boundary layer becomes turbulent, flow separation is delayed, and the wake narrows dramatically. This is called the “drag crisis,” and the C_d drops to roughly 0.1 to 0.2. If you are modeling a competitive swim cap (which moves at high speeds in water), you might actually be in this turbulent regime!

4. Boundary Layer Meshing

If you are simulating flow around a curved surface like a sphere or a swim cap, capturing flow separation accurately is critical. Make sure you have inflated boundary layers on your sphere. If your mesh is too coarse near the wall, the solver will miscalculate the separation point and give you inaccurate pressure drag.

Check that Reference Area first (Projected vs. Surface Area). If that doesn’t fix it, please make your project public and I will gladly take a closer look at your setup!

Hi,

Thanks for the reply. I checked my reference area again and it is 0.031416m^2 which is suitable for the sphere with radius 0.1m. Also, I checked the reference velocity and it is correct.

It seems the sphere is in the drag crisis with approx Re = 4.4*10^5 as water flow is 2.2m/s. I am using the k-omega SST model, should I maybe use LES smagorinsky or SA model?

I have used a hex dominant meshing, with region refinement (max edge length 0.005m) and surface refinement (min edge length 0.0005 and max edge length 0.0001) are these parameters enough? or do i need more fine mesh?

Hi @yueqian_jiang,

Great job verifying the reference area and velocity. You hit the nail on the head regarding the physics: at Re approx 4.4 * 10^5, you are squarely in the critical regime (the drag crisis). While a massive drop in drag is expected here, 0.05 is still unusually low, meaning the solver is likely predicting that the flow stays attached much further around the sphere than it physically should.

The good news is that you do not need to abandon your current setup. Here is how to dial it in:

1. Stick with the k-omega SST Model

Do not switch to LES or Spalart-Allmaras (SA) just yet.

  • SA is primarily tuned for attached aerospace flows and often struggles to accurately predict the massive separation wakes behind blunt bodies like spheres.

  • LES would give you fantastic accuracy, but it is astronomically expensive computationally. For a baseline optimization study, RANS is standard.

  • k-omega SST is actually the industry standard for this exact scenario because it excels at predicting flow separation under adverse pressure gradients. The model is right; the mesh is the culprit.

2. Surface Refinement Typo

Double-check your surface refinement settings. You mentioned a min edge length of 0.0005 m and a max edge length of 0.0001 m. Your maximum edge length is set smaller than your minimum, which might be causing the mesher to behave unpredictably on the sphere’s surface.

3. The Missing Piece: Inflation Layers & y^+

For the k-omega SST model to accurately predict where the flow separates (which dictates your C_d), it needs to mathematically resolve the viscous sublayer directly against the wall. To do this, you must add Prism/Inflation Layers to your sphere surface.

  • Currently, your hex-dominant mesh is likely placing a standard tetrahedral or hexahedral cell right against the wall. Without inflation layers, your y+ value is probably wildly inconsistent.

  • The Fix: Add a boundary layer refinement to the sphere. Aim for 5 to 8 layers.

  • Verification: Once the simulation runs, check the y+ field in your post-processor. For k-omega SST without wall functions, you want a y+ approx 1. If you are relying on wall functions, ensure the y^+ is consistently in the log-law region (30 < y^+ < 300).

Once you add those inflation layers to capture the boundary layer properly, you should see that separation point move forward and your C_d bounce back up into the expected 0.10 - 0.15 range.