CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   OpenFOAM Running, Solving & CFD (http://www.cfd-online.com/Forums/openfoam-solving/)
-   -   Anyone using IDDES (http://www.cfd-online.com/Forums/openfoam-solving/76652-anyone-using-iddes.html)

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?

Markus

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

Code:

{
        delta_.internalField() =
            deltaCoeff_
          *min
            (
                max(max(cw_*wallDist(mesh()).y(), cw_*deltamax), hwn),
                deltamax
            );
    }

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,

Charlie.

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

Hi

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,
Markus

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:

Code:

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

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())))

Markus

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.

Markus

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?

Regards
James

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.

Delta:
see attached code from OF 201

Alpha:
Lines 45-52 of SpalartAllmarasIDDES.C:

Code:

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


Anne Lincke June 29, 2012 10:12

Hey,

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

Thanks
Anne

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

Quote:

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
Quote:

Valid LESdelta types are :

5
(
IDDESDelta
Prandtl
cubeRootVol
smooth
vanDriest
)
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.

Cheers
Anne


All times are GMT -4. The time now is 01:25.