LES-Content of a Detached Eddy Simulation for OpenFOAM
Hey Foamers,
I started with OpenFOAM®+DES, SpalartAllmarasIDDES. I would like to determine the LES-Content of my computation. Does someone know an indicator or a way to determine the content? It would be desirable to see the averaged LES content... Thanks Anne |
Quote:
you can obtain the averaged resolved Reynolds stresses by just activating the averaging function for the velocity field at the end of your controlDict: functions { fieldAverage { type fieldAverage; functionObjectLibs ("libfieldFunctionObjects.so"); enabled true; outputControl outputTime; fields ( U { mean on; prime2Mean on; base time; } ); } } The above addition will produce and write both the time-averaged velocity field as well as the six time averaged components of the resolved Reynolds stresses tensor (this is the meaning of prime2Mean: fluctuating components squared and averaged against time). Of course, to obtain reliable results, you have to start averaging when the flow has developed its transient content and then average for a sufficiently long period, in order to get the mean (and thus the fluctuating) values stabilized. Hope this helps V. |
Hey Vesselin,
thanks for your answer. I already activated fieldAverage and plottet those values. But this was not my question, maybe I expressed in a bad way. What I meant: I would like to plot a "sensor" which is for example "1" in regions where LES-mode is activated and "0" in regions where RANS-mode is activated. When outputting the averaged sensor, one could see the regions where mainly LES-, and regions where mainly RANS-mode was activated. It is desirable for a DES to switch on RANS-mode in near-wall regions and LES-mode inside the fluid volume. Dou you or someone else have an idea how to solve this in OpenFOAM? I heard that it is common for solvers to have such a sensor implemented.... Thanks Anne |
1 Attachment(s)
Quote:
Good luck for your work V. |
Hey Vesselin,
sorry for the late reply. Thanks a lot for this tool. I wrote a similar one for IDDES. Kind Regards Anne |
Hi Anne,
no problem, happy to see that you have solved your issue! Regards V. |
Hello everybody,
hello Anne, I am currently trying to work my way into DES in OpenFOAM. Such a tool as you said would really be neat to have. Unfortunately, when it comes to coding in OpenFOAM, I am pretty much a novice, so I have a question: Did you implement the evaluation of the length scales as a post processing or routine did you modify the turbulence model to write a field? Any help is appreciated. Best regards, Lukas |
Hey Lukas,
I implemented a postprocessing tool which writes \tilde{fd}*(1+fe) and 1-\tilde{fd} which are the coefficients of l_RANS and l_LES, respectively (according to the paper of Shur et. al). It would be desirable to insert such a tool inside a simulation such that these coefficients are computed at each time step and could be averaged. But I only succeeded in doing this inside a postprocessing routine, which computes these values for the written time steps. So one can see the LES content of each time step which was output. Kind Regards Anne |
Hi Anne,
Could you please post your LESProperties file, with SpalartAllmarasIDDES implemented? |
Hi Anne,
have a look in the extend project. You have to define an IOobject. |
Hey,
Quote:
HTML Code:
/*--------------------------------*- C++ -*----------------------------------*\ Anne |
Hi,
just in case you're still interested. You can define the IOobject Timo_IHS mentioned in your own copy of the SpalartAllmaras.C (DES) model which could look like this: Code:
RANSregion_ Code:
void mySpalartAllmaras::updateSubGridScaleFields() kind regards |
Hi Jane L,
Can we do something similar for other Turbulence models as well. And what is "fv1()" in the above equation. It would be very helpful if you could explain shortly what this code snippet is actually doing. Regards, Awais |
Hi!
Quote:
Quote:
Quote:
/src/turbulenceModels/incompressible/LES/SpalartAllmaras/SpalartAllmaras.C So actually the function "fv1()" comes from this model. In order to alter existing turbulence models you should make your own copy of that turbulence model. Follow the instructions of Hakan Nilsson (you find the "implementTurbulenceModel.pdf" via google) I hope this helps! regards |
Hey Jane,
thank you very much for this information. I am still interested in implementing such a sensor and will try to do it in this way. Starting with Spalart-Allmaras and DES seems to be a good way, as the model gets more and more complex for DDES and IDDES. Kind Regards Anne |
Hi Jane,
Thanks for your reply. I will try to look into that pdf. Also I might try to do something similar for LES as well. Regards, Awais |
Hii,
Have you tried plotting the energy spectrum to get an estimate of the LES content? |
Hi;
I have been trying to run a simulation in OFv2.1.0 with SpalartAllmarasIDDES using exactly the same LESProperties file that Anne L. posted in this forum. However, I am getting this error: Code:
Selecting incompressible transport model Newtonian Code:
Thanks! |
Hey,
I installed OpenFOAM-2.1.1. and since then I get exactly the same error message. I would be really interested in how to solve this, too. |
This should be the correct LESProperties file for 2.1.x
Code:
/*--------------------------------*- C++ -*----------------------------------*\ |
I have the same in my computation, meaning to use cubeRootVol for delta and IDDESDelta inside SpalartAllmaras model.
This works in any case. Would be interesting to know if it is possible to set the general delta to "IDDESDelta". So far, this does not work with OF-2.1.1. |
It runs perfect! Thank you ingcorra.
But I might have spoken to fast. Anne has a point. So to check if IDDESDelta is being used and not cubeRoot I simply added a line in the IDDESDelta.C file: Info<<delta_.internalField()<<endl; after the calculation of delta. It prints the value of delta before the first iteration, but not in each iteration. Does delta is something that is calculated once? (which will mean the IDDESDelta works fine) or it is calculated every iteration? (and there is something wrong in the code) |
1 Attachment(s)
Quote:
Hello, Anne, I notice that you are familar with IDDES, I am currently doing some simulation relating to this, but everytime it has errors like this: request for RASModel RASProperties from objectRegistry region0 failed available objects of type RASModel are 0 ( ) I attached the case file below(0,constant,system), could you please kindly help me with this, I will really appreciate that since I am suffering this now. |
Hi everyone! I was just wondering, what's the consensus on the delta for IDDES? The way I understand the issue is that in old releases of OpenFOAM (pre 2.1) it was possible to define the delta as "IDDESDelta" in the root of the "LESProperties" file (as per post #11), but that in the newer versions, the delta has to be defined as something else first (like in post #20).
Is this a bug in the new releases, or has it been done on purpose? If it's on purpose, is the first definition of delta just a "dummy definition" which isn't really used in the simulation? I get the following output when I start an IDDES simulation, suggesting that the solver switches back and forth between different definitions of delta. Code:
Selecting turbulence model type LESModel Code:
Selecting turbulence model type LESModel |
The computation of IDDES delta is based on a general delta. You can find in IDDESDelta.C the formula of IDDESDelta
HTML Code:
delta_.internalField() = HTML Code:
hmax_ In the paper of Shur, Spalart, Strelets and Travin, International Jorunal of Heat and Fluid Flow 29 (2008) 1638-1649 you can read more. Hope this helped. Kind Regards, Anne |
Hi Anne, and thanks for the thorough explanation! So in a structured grid, like one would make in blockMesh, all the cells are aligned with the principal axes of the domain, and the "maxDeltaxyz" definition is fine, but since this might not be the case for an unstructured grid, it would be safer to use the "cubeRootVol" definition..is this correct?
Shur et al. do talk a lot about how the "max"-definition is preferable to the cube root, but the choice of delta definition is maybe not as significant for DDES and IDDES, which have the shielding term? cheers, Håkon |
Hi Håkon,
The LeMoS extensions for OpenFOAM provide an URANS-LES Detatched Eddy approach where the regions of URANS and LES are decomposed dynamically in every timestep dependent on flow properties and local mesh resolution. They have very good validation results using ship hydrodynamic test cases. So if you want to use LES with an unstructured grid, this might be helpful. |
Hey Ha°kon,
Quote:
Kind Regards Anne |
baklanton
Hi Anne,
Could you please post or attach the post-processing tool that you created, the one that writes \tilde{fd}*(1+fe) and 1-\tilde{fd} . Many Thanks Anton |
Dear Anton,
sorry for this late response. I found the tool which I implemented a while ago. If you are still interested, I could send it to you via e-mail. Kind Regards, Anne |
(Sorry, ignore me)
|
For anyone still following this thread, the correction Corrado posted in response to Anne's LESProperties post worked for me,
Thanks :) |
Is this the answer to your Question ?
Hi All,
My two cents on the intial question, This should be added to the functions in the controlDict, to get the LES and DES regions during the simulations so it can be visualised after the simulation. Code:
Hasan K.J |
All times are GMT -4. The time now is 15:59. |