Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

SA and SST turbulence model consistent implementation with literature, and handling more options #1364

Closed
pcarruscag opened this issue Aug 27, 2021 · 7 comments

Comments

@pcarruscag
Copy link
Member

pcarruscag commented Aug 27, 2021

Originally posted by @suargi in #1066 (comment)

Currently each variation/correction model has its unique name identification in SU2. In order to simultaneously combine multiple correction models to a given turbulence model I suggest the following:

  • The config file option KIND_TURB_MODEL should specify only which turbulence model to use, i.e. SA or SST.
  • Introduce an additional config file field TURB_MODEL_CORRECTIONS to indicate all variations/corrections to be considered.

Here an example,
% Specify turbulent model (NONE, SA, SST)
KIND_TURB_MODEL= SA
% Turbulence model corrections (NONE, SA-EDW, SA-NOFT2, SA-COMP, SA-NEG, SA-QCR2000, SST-SUST)
TURB_MODEL_CORRECTIONS= SA-EDW, SA-NEG

What do you think?

@pcarruscag
Copy link
Member Author

Let's continue this here @suargi as it should be more visible for everyone.

In principle, I like what you suggest, it is clean and concise.
However, I see one big issue with backwards compatibility of the config. KIND_TURB_MODEL is in almost every config (in the world) and we cannot simply break compatibility, something with this much impact would require SU2 v8 😄

This is not to say you could not implement what you propose, just that you need to make it compatible with the status quo.
For example:
KIND_TURB_MODEL= SA-NEQ
QCR= YES
(I'm not even sure if that makes sense but anyway)
Needs to be converted internally to:
KIND_TURB_MODEL= SA
TURB_MODEL_CORRECTIONS= SA-NEG, SA-QCR2000

And of course, if someone uses the new option TURB_MODEL_CORRECTIONS you can enforce that KIND_TURB_MODEL only contains NONE, or SA, or SST, and that corrections do not appear in the config in any other way.

@pcarruscag pcarruscag added this to To do in RPSVV Working Group via automation Aug 27, 2021
@pcarruscag
Copy link
Member Author

pcarruscag commented Aug 27, 2021

Oh and let's please discuss the plan for modifying the code in one of the developer meetings.
It would be good to start just with the options that are in the code and clean them up to avoid duplication, which would probably give some clues for how to handle new options without duplicating anything.
To do this safely we should have unit tests for each of the source terms (because I doubt we have full coverage in the regressions for all turbulence options).
etc.

@suargi
Copy link
Contributor

suargi commented Sep 10, 2021

As discussed I will follow your suggestions and implement the new procedure of specifying the turbulence models guaranteeing backwards compatibility of the config file.

Besides, the baseline or standalone Spalart-Allmaras turbulence model currently implemented in SU2 is actually its ft2=0 variation, a.k.a noft2. To keep compatibility with previous SU2 versions results it is preferable to keep the current nomenclature, i.e., SA will refer to the SA-noft2 variant. In that sense, to introduce the actual baseline version an additional variant should be implemented, yesft2 :), corresponding to the standard model found in the literature. I will make sure to properly document this matter in the SU2 website.

@erangit
Copy link
Contributor

erangit commented Sep 12, 2021

The ft2 term was a "not a very successful" attempt to allow computation of transitional flow or relaminarization, where a region exists without turbulent diffusion. During the time that passed since the nineties, it was commonly considered ineffective. I think Philipe also agrees with that. That way, though historically it is not correct, I think the basic SA model should be with ft2=0
I appreciate your effort. I put some order and logic in a combination that creates a lot of misunderstanding by many
Best,
Eran

@HexFluid
Copy link

HexFluid commented Dec 9, 2021

@pcarruscag

Hi Pedro,
While I am trying to figure out the implementation of SA model in SU2, I found in Ver 7.2.1 /SU2/SU2_CFD/src/numerics/turbulent/turb_sources.cpp, line 103:

if (rotating_frame) { Omega += 2.0*min(0.0, StrainMag_i-Omega); }

This is effectively the Bradshaw's correction (i.e., SA-R from NASA TMR). Does that mean the default flavor of SA is actually SA-R-noft2 when the frame is rotating? (i.e., turbomachinery cases)

Also I did not see any correction of Vorticity_i from absolute frame to relative frame in turbulence model transport equations. Has it been corrected in somewhere else?

@pcarruscag pcarruscag changed the title SA turbulence model consistent implementation with literature, and handling more options SA and SST turbulence model consistent implementation with literature, and handling more options Jan 12, 2022
@pcarruscag
Copy link
Member Author

Related discussion #797

@sun5k
Copy link
Contributor

sun5k commented Jan 12, 2022

Thank you for the escort 👍

It looks like the SU2 code considers both practical and academic points. The first options give considerable confusion as, who needs just RANS models(SA or SST). Additionally, for expert users who need a specific model, either option is not an issue.
So, in my opinion, the latter option is suitable for many users.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Development

No branches or pull requests

5 participants