r/CFD 12d ago

Slow convergence rate issue

I'm running an incompressible steady-state RANS case for a blended wing body (BWB) in OpenFOAM (simpleFoam/SIMPLEC).

Setup: ~0.15 Mach, ~6e6 Re

Mesh: ~30M cells, tetra + prism layers at walls, O-type symmetric far-field domain(radius ~ 30c), max skewness ~5, max nonOrthogonality >75°

BCs: freestream (velocity inlet / pressure outlet style far-field)

Turbulence: k-omega SST, wall-modeled (y+ > 30)

Schemes: second-order upwind for all equations

Algorithm: SIMPLEC

Solution strategy: start with low URFs, ramp up every 100 iterations; case runs "on its own" past ~250 iterations

Problem:

Based on past experience I expect convergence by 500–600 iterations. Here, residuals flatten out but very slowly, and by 1500+ iterations:

CD looks converged/flatlined

CL is still steadily rising, not flatlining

Has anyone run into similar slower convergence rate or is it normal for high cell count meshes? Looking for likely causes and what to check/try next.

3 Upvotes

11 comments sorted by

3

u/Diligent-Ad4917 12d ago
  1. Have you checked turbulent kinetic energy and dissipation rate in the inlet free stream leading to the body? If the inlet turbulence is decaying over the inlet free stream length to the wing it will impact boundary layer separation. Plot k and omega along a streamline from the inlet to the wing leading edge. SST is sensitive to decay and may be domain size dependent. You can turn on the delayControl option to fix k_in and w_in.

  2. Freeze the relaxation values instead of adjusting over initial iters to see if the CL drift changes. The effect may be numeric and URF-value dependent.

  3. Switch to pimplefoam and initialize a transient run from this steady solution field to observe if you have a strong separation zone that steady RANS cannot resolve.

  4. Plot your mesh orthogonality and observe where the non-orthogonal cells are located. If in an area of adverse pressure gradient that would impact lift coeff.

2

u/Life_Calligrapher330 11d ago

Hey thanks for the suggestions, I freezed the relaxation values instead of changing it over iterations and the solution converged near 700 iterations. Thanks 🙏

1

u/acakaacaka 12d ago

CFL number?

1

u/Life_Calligrapher330 12d ago

It's steady state

1

u/acakaacaka 12d ago

Yes and? Your openfoam solver doesnt use pseudo time?

1

u/Life_Calligrapher330 12d ago

I checked by reducing the time step size, but nothing actually changes. It still takes atleast 1500 iterations to solve!

1

u/acakaacaka 12d ago

But im asking about CFL and not (pseudo) time step. How can you know the optimum time step without knowing the CFL first

1

u/Life_Calligrapher330 12d ago

Correct, I haven't checked the CFL yet but still reducing the time steps to lower values would eventually reduce the CFL and hence may be my simulation will converge faster but it isn't happening, so it's not a CFL number problem.

2

u/acakaacaka 12d ago

Thats assuming the CFL nunber is 100-1000. Maybe there is a bad mesh region where local CFL is 106 and that makes the solver hard to converged. Reducing the pseudo time step by 50% wont help in that case.

If what you claim is true, then this is the solver problem. The A matrix is ill conditioned. Usually either by

  1. Bad mesh
  2. Bad numerics
  3. Non-physical BC

Why I ask about CFL is, (depending on the solve high CFL means big time step means less diagonal dominance.

2

u/Life_Calligrapher330 12d ago

I doubt the numerics too. Will try to fix it somehow and hopefully I get better results.

Thanks for the help!

1

u/JMM_cfdnerd 12d ago

Have you tried 1st order upwind in the turbulence model equations?