CFD Online Discussion Forums

CFD Online Discussion Forums (
-   CFX (
-   -   [CFX] Simulation of Flow Separation in a rectangular diffuser - Convergence Problem (

anon_b April 30, 2012 06:56

[CFX] Simulation of Flow Separation in a rectangular diffuser - Convergence Problem
Hey everybody,

I am using ANSYS CFX 13.0 to solve a "little" problem which is part of my bachelor degree thesis.
Therefor, I am trying to compare different cross section geometries of diffusers, which shall lead to an optimal one to use on a modular DAWT.
The main CFD-geometry consists of a wind tunnel (28x28x35m) and the geometry of the diffuser itself with a cross section area of approx. 36mē. The Diffuser is placed 7m downstream of the inlet and has a lentgh of approx. 0.5m. The different geometries are: circular, square, hexagon and octagon.
First, I iteratively created a mesh for the problem on the circular geometry, ensuring a well-displayed boundary layer with Yplus approx. 1 and an overall quantity of elements of approx. 8E+7.
I selected an inlet flow of 7m/s with medium intensity turbulence and a timescale of 0.01s.
The turbulence modell is SST, with automatic settings. I dont pay attention to any heat transfer.
I started the simulations using steady state configuration and had fine results for the circular, the hexagonal the octagonal geometry.

In the case of the squared diffuser, the Solver did not converge but started to oscillate quite slowly (reaching an extrema approx. every 60 timesteps). Aver decreasing the timescale just lead to a slower oscillation, and looking at the residuals in CFX Post, I came to the conclusion that there is a flow separation in the corners of the diffuser which leads to vortices separating. For this case, I assumed, that a transient simulation would be suitable.

As total running wall clock time, I selected 8s, the interval is 0.001s, maximal iterative steps 12, Max Courant approx. 40.
But still with this configuration I didn't manage to get any convergence, even in a second try, where I used some initial values from the not converged steady state simulation.

Is there a "best practice" for such cases? How can I manage to get some useable results? What is a satisfying value for RMS Residuals in this case?

You would make my day and probably my week and month if someone could give some "understandable" advice.

Greetings from berlin,


ghorrocks April 30, 2012 20:02

Hopefully this helps:

If a transient simulation does not converge (assuming al the basics are under control and in your case that seems to be the case) then the main option available is to reduce the time step. I see you selected 0.001s - was this an arbitrary choice?

In my experience, when setting up a new transient simulation I use adaptive time stepping, converging on 3-5 coeff loops per iteration, with a max time step of something huge (1E10) and min of something tiny (1E-10) and an initial time step of my guess of what it should be (in your case 0.001s). Then let it find the time step it needs from there. You might need to restart it again when you find the actual time step it wants to run with.

Hopefully this has made your day.

ghorrocks April 30, 2012 20:06

And another point - when you use adaptive time steps homing in on number of coefficient loops to convergence, then the model automatically updates the time step size when you change convergence tolerance. This reduces the number of parameters you need to do sensitivity studies on by one parameter and that is quite a saving.

But in general converging to RMS=1e-3 is a loose tolerance for approximate results, 1e-4 is a loose tolerance but should give reasonable results, 1e-5 is a tight tolerance.

anon_b April 30, 2012 20:33

3 Attachment(s)
It will sound ridiculous to you, but I've never even thought of using the "adaptive" option.
I will try instantly, but the calculation will take... maybe another day... we will see what the results are.

The choice of 0.001s "came" from two thoughts:

1) keep the courant number around 40, what a colleague from university (some kind of experienced using CFX) told me to keep in mind
2) with a calculated timescale of 7E-3, based on the diffuser lentgh and the "wind" speed for the steady state simulation, I thought decreasing it would be good for transient case.

I added some visuals from the solver monitor of my last run (RMS Res, Max Res and Calculated Force on Diffuser via Expression).
The "steady" part is my initial conditions result of the steady state run.
As one can see, my RMS criteria is 1E-5, this hasn't been reached. Instead, I have periodic oscillation without flow parameters (like the force on the diffuser) moving the same way.

When is the right moment to stop the calculation? If I reach, for example RMS=1E-4 but still have oscillating Residuals, would this still be an appropriate solution?

Thanks a lot, I really appreciate the support of an expert.


anon_b April 30, 2012 20:35

Oh.. and another point - I love Sydney and its surroundings. Envy you ;)

ghorrocks April 30, 2012 21:13

To determine what convergence tolerance to use, work out the output parameters of interest to you. You show diffuser force, but it could be back pressure, separation size - what ever is important. Then see how it varies as you tighten the convergence tolerance. Once it has converged to within an accuracy you are happy with then you have found your residual tolerance.

You will see in your case going from 1E-4 to (almost) 1E-5 did not change the diffuser force much, maybe 5-10%. If this is the level of accuracy you are looking for (and diffuser force is a key parameter) then 1E-4 will do.

anon_b May 1, 2012 06:36

It worked out absolutely fine, I found a Time Step of 8,5E-5 - which actually is pretty close to the 1E-4 I proposed! Thank you ghorrocks!!!

What do you mean by "parameter separation size"? Check CFX Post for it or is there an expression to show this whilst the solver runs?

ghorrocks May 1, 2012 19:17

Good to hear the new time step size is working.

My reference to separate size is simpy a guess as to what might be important to your simulation - pressure drop, flow rate, separation size, drag, lift, whatever. You use this important parameter to assess sensitivity of your simulation to the various settings.

anon_b May 4, 2012 08:48


yes, that's absolutely right. Those are (some of) the values im interested in.
Concerning the mass flow - is it possible do define a region of a cross section as a component or similar and to check the mass flow through it? I just found the possibility to create circles and squares, but the geometry is for example hexagonal. Maybe, it is possible to define a plane and then use the intersection of plane an "diffuser-component" somehow? The difficulty is, that I just need the "inner" part.



ghorrocks May 5, 2012 07:10

You can define this as a mesh region, put an innterface on it and then you can easily extract data from it. I think CFX V14 has some additional functionality here so you do not need to do this but I have never used it so cannot be sure - have a look into it.

anon_b May 6, 2012 15:27

I am using v13. It's an educational version at my university.
Can I define such a region in CFX-Post or do I have to it before (as this would mean, that I would have to run the solver again)?

Thank you for your patience.

ghorrocks May 6, 2012 20:16

In CFD-Post you can define it using any operation which generates a surface - iso-surface, between contours, plane with extents etc etc. This is all post processing and does not require the solver to run again.

All times are GMT -4. The time now is 06:15.