CFD Online Discussion Forums

CFD Online Discussion Forums (
-   OpenFOAM Running, Solving & CFD (
-   -   Anyone using IDDES (

cfdmarkus June 1, 2010 04:01

Anyone using IDDES
Hi all,

I was wondering whether anyone is using IDDES using the IDDESdelta in LESProperties. I have applied IDDES to two different cases and the results were not exactly what I would expect them to be (compared to the case in the original paper). So I started digging into the code in order to check the implementation.

In line 77 in src/turbulenceModels/.../SpalartAllmarasIDDES/IDDESdelta/IDDESDelta.C, I found something which does not make sense in my opinion.

The variable deltamax= 2*deltamaxTemp is currently defined as a scalar which is obtained as the maximum cell dimension that appears in the whole domain.

To my understanding deltamax should be a FIELD variable (deltamax=hmax = max(dx,dy,dz)) and should be put inside of the loop over all the cells in the domain.

What do you guys think?


djbungee June 1, 2010 12:16

... yes, we are ... and massivley so ... and ... I am shocked...
Hi Markus,

thanks for the hint!!!

deltamax is the maximum grid cell edge length in the orignal formulation for delta for IDDES and it is used in


        delta_.internalField() =
                max(max(cw_*wallDist(mesh()).y(), cw_*deltamax), hwn),

to limit delta and ensure that it does not supercede deltamax. And yes, I do also feel that it is not implemented correctly, it should be a local, i.e., cell-dependent value, not a global maximum. Therefore, I am a little shocked about not having seen it. Of course, for regular grids used for calibration, such as decay of isotropic turbulence, it does not play any role. But it might explain some effects we have observed.

What do others think!?

However, do not forget, that the hybrid numerics which is an important ingredient for a DES is not implemented. This might also explain that you do not achieve the results you want to achieve!? We will present this additional implementation with some results in Gothenburg, however, the results have to be checked carefully, now, and a possible influence of this mistake will have to be evaluated.

Best regards, Ulf.

charlie June 1, 2010 12:38

Delta in IDDES
Dear Markus and Ulf,

I can confirm that the h_max in the IDDES Delta formula should be a local measure of the maximum cell length, not the global maximum. I also agree that this won't be a problem for decaying, isotropic turbulence on a uniform mesh. It also won't be a problem when running a channel flow on the usual kind of structured grid. For anything real however, it will usually be a big problem.

Thanks very much for bringing this to our attention!

It would be very good to plot the value of Delta in the field, then you can be sure what is happening and also sure that your remedy is effective.

Out of interest, what cases have you been running to test the IDDES in OF? I'd be very interested in seeing some results if you wish to share them.

Best regards,


djbungee June 1, 2010 14:49

code adjustement available
Hi Markus,

do you already have an adjustment of the code for IDDESDelta that you can provide to this forum? My last post of code adjustment for solving unsteady flows with arbitrarily large time steps is some weeks ago - so it might be my turn again ;). However, at the moment other topics are pressing much more, so it might take some days. Nonetheless, I would like to update our running computations as soon as possible....

Best regards, Ulf.

cfdmarkus June 2, 2010 04:12


I am glad to hear that at least some people agree with me.
I have submitted a bug report about this issue a long time ago but no one was interrested in fixing that bug at that time.

Ulf: You have mentioned that you have also observed some unexpected behviour of IDDES. I would be very interested to hear more details about that.

Charles: I was using IDDES for a channel flow and a tandem cylinder configuration.

Best regards,

djbungee June 9, 2010 03:25

Our observations
Hi Markus,

what we computed so far is, decay of isotropic turbulence, inviscid isotropic turbulence, and a NACA-profile wake flow for high angle of attack. Based on several comparisons that Charlie has made he found the behavior of our IDDES too diffusive for the wake flow. This, however, was only one of the observations, so we have to perform more computations, especially for a very long time to have statistically significant data. The dissipative behavior can be explained by the wrong delta, but this has to be evaluated in detail.

Best regards, Ulf.

fabianpk June 30, 2010 02:35

1 Attachment(s)
Here is a small modification in IDDESDelta.C that changes deltamax into a field instead of a scalar. I would be happy to hear from anyone who tries it.

djbungee September 20, 2010 07:08

anything else wrong in IDDES implementation?! hmax in SpalartAllmarasIDDES.C
Dear Fabian, dear all,

there are some more peculiarities in the IDDES implementation regarding the value hmax in the turbulence model itself that we are now checking in detail. In case anyone has already checked or confirmed that and found some/none/more/less mistakes, please let us know.

E.g., in SpalartAllmarasIDDES.C we find for alpha:


tmp<volScalarField> SpalartAllmarasIDDES::alpha() const
    return max
        0.25 - y_/dimensionedScalar("hMax", dimLength, max(cmptMax(delta()))),

In literature, alpha is defined as 0.25 - d_w / hmax where d_w is the wall-normal distance and hmax the maximum local cell dimension. We are not sure whether the above mentioned source code gives the right value!?

Best regards, Ulf.

cfdmarkus September 22, 2010 05:16

Hi Ulf,

I have to agree with you - I don't think the present alpha() is correct.
In fact, I have checked the IDDES implemantation a while ago and I have changed alpha() such that it uses hmax (deltamax) as computed in IDDESDelta.C instead of dimLength, max(cmptMax(delta())))


chrizzl September 22, 2010 07:38

Dear Markus,
I'm also interested in this topic. As mentioned before the h_max used in the alpha-calculation should be a local value as well?
Thanks, Christian.

cfdmarkus September 22, 2010 07:50

yes that is correct - hmax should be a local value and not a single value for the whole domain. I am not sure whether that as already been corrected in the file IDDESDelata.C for the latest 1.7.x release.


tookey_1989 November 30, 2010 17:24

Dear All,

I'm very interested to know how you have got on with IDDES in OpenFOAM since your last posts? I'm currently looking at using it for incompressible flow over the Ahmed body, and am wondering if you have come across any other problems with the current implementation?

EDIT: I've had a look at alpha() and it appears it hasn't been changed yet in the latest 1.7.x. Markus please could you tell me what changes you made to use deltamax from IDDESDelta?


0.1 watts January 7, 2012 17:00

IDDES bugs in Openfoam 201
1 Attachment(s)
Dear all,
I'm using IDDES in OpenFOAM 201, but I'm not sure whether the alpha and delta bugs have been removed - I don't have enough experience with C to go by my opinion alone, so I'd be grateful for your advice.

see attached code from OF 201

Lines 45-52 of SpalartAllmarasIDDES.C:


tmp<volScalarField> SpalartAllmarasIDDES::alpha() const
    return max
        0.25 - y_/static_cast<const volScalarField&>(hmax_()),

Anne Lincke June 29, 2012 10:12


what about the bugs, are they fixed in OpenFOAM-2.1.1?


Anne Lincke July 3, 2012 11:15

By the way, the IDDESDelta is missing in the OpenFOAM user guide.
Here what is written inside user guide


LES deltas :
PrandtlDelta Prandtl delta
cubeRootVolDelta Cube root of cell volume delta
maxDeltaxyz Maximum of x, y and z; for structured hex cells only
smoothDelta Smoothing of delta
and here the output of the solver

Valid LESdelta types are :

It would also be appreciated if the IDDESDeltaCoeffs would be defined somewhere.
I set them with the help of literature to

cw 0.15;
deltaCoeff 1;


inside LESProperties.


Alhasan December 14, 2015 14:27

RANS/LES Region.
1 Attachment(s)
Dear All,

As it looks like there are lot of DES users here I have decided to ask my questions here,

I have good experience with RANS simulations and reasonable experience with LES simulations, it is due to some time constraints have started using DES recently and I have started with IDDES.

- I am using DES for flow around an airfoil !

- Can some one tell me what criteria is that the IDDES looks at before switching to LES and RANS, for my case i feel the LES regions are the wrong regions.

- If it is mesh density !! what ratio of the density is it ? and how do I calculate and define it !!. does the LES region have to be highly dense or the RANS region has to be highly Dense ?

- because as of now the LES appears to be on the coarse regions of the mesh only !! that doesnt make sense LES requires DENSE mesh right ?

- I have been playing with this for more than a month but still unsuccessfull results in getting LES and RANS in the regions I particularly want.

eg. Image attached, the LES is in the wake of the airfoil, I want LES everywhere except at the airfoil close to the wall regions.

Can some one please help me,

Thanks for your time and Effort.

If the post here hasnt given enough information, I have also posted a similar question here

Hasan K.J

Anne Lincke December 16, 2015 10:37

Hey Hasan,

the IDDES model is quite complex and it has been a while ago since I dealt with it.
In general, RANS should be applied next to the wall where the mesh density is high.
LES should be applied in regions far away from the wall where the mesh density is lower.

The IDDES model does not only take into account geometrical properties but also flow properties (turbulent eddy viscosity) to compute the switch between RANS and LES.

For a more detailed explanation, have a look at the Paper of Shur, Spalart, Strelets and Travin in the Journal of Heat and Fluid Flow from 2008.
As far as I know, the IDDES model implemented in OpenFOAM is the same as stated in this paper.

Hope this helps.

Kind Regards

All times are GMT -4. The time now is 23:53.