SU2 icon indicating copy to clipboard operation
SU2 copied to clipboard

[WIP] Develop for Langtry and Menter transition model.

Open sun5k opened this issue 2 years ago • 15 comments

Proposed Changes

Give a brief overview of your contribution here in a few sentences.

Hi, all.

This PR is resuming the #1496. I'm not familiar with the git, so the branch is unfortunately disconnected.

Now working on

Langtry and Menter model

Current State

Code is well running. But, the result is not satisfactory. 😂 The LM(Langtry and Menter) model implemented to Su2 is under debugging compared to the results of Fluent's LM model.

Transition onset is located upward then Fluent result. But, the good news is that when the correlations are set fixed value, the transition onset location is similar to the Fluent result.

PR Checklist

Put an X by all that apply. You can fill this out after submitting the PR. If you have any questions, don't hesitate to ask! We want to help. These are a guide for you to know what the reviewers will be looking for in your contribution.

  • [x] I am submitting my contribution to the develop branch.
  • [ ] My contribution generates no new compiler warnings (try with the '-Wall -Wextra -Wno-unused-parameter -Wno-empty-body' compiler flags, or simply --warnlevel=2 when using meson).
  • [ ] My contribution is commented and consistent with SU2 style.
  • [ ] I have added a test case that demonstrates my contribution, if necessary.
  • [ ] I have updated appropriate documentation (Tutorials, Docs Page, config_template.cpp) , if necessary.

sun5k avatar Apr 05 '22 06:04 sun5k

Hi @sun5k the SST version implemented in fluent is not the same as we have, maybe that's where the difference comes from.

pcarruscag avatar Apr 05 '22 07:04 pcarruscag

Hello.

Here is sharing the status of debugging the LM model.

T3A flat plate case : image

NASA 2DZP Mach number 0.2 case :

image

The after transition process, I think the difference in the skin friction coefficient comes from using a different k-w SST model.

NASA 2DZPG Mach number 2.0 case : image

The subsonic flat plate is in good agreement. But, in the supersonic case result, it seems to need debugging.

sun5k avatar Apr 17 '22 14:04 sun5k

Hi @sun5k, that looks promising :+1: It would be nice if you could attend the developer meetings and tell us about your plans regarding the integration of this feature. Every Wednesday at 3pm UK, 4pm CET, https://meet.jit.si/SU2_DevMeeting There are folks working on implementing SST-2003m, this could be a better comparison with fluent.

pcarruscag avatar Apr 17 '22 15:04 pcarruscag

Now that you have running examples it would be extremely important to add them as regressions tests, so that you can ensure that changes coming from develop do not break the code. Please turn on the GitHub notifications because it seems you have missed quite a few of the comments on your pull requests...

pcarruscag avatar Apr 17 '22 15:04 pcarruscag

Hi @pcarruscag

Thank you for the invitation to the meeting. Unfortunately, this week I have a domestic conference. I think I'll have to promise next(not a next week).

sun5k avatar Apr 17 '22 15:04 sun5k

Hi @sun5k ,

I am also working on the implementation of this transition model within SU2.

In order to verify the code, I am running simulations on the E387 profile (taken from DOI:10.1177/0954406217743537) and on the Flat Plate test cases (taken from DOI: 10.2514/1.42362).

While for the E387 profile the results are similar (although not really convincing yet), for the flat plate (NASA 2DZP) the transition occurs right at the leading edge. Could you please share the config files that you have used?

I also noted a couple of inaccuracies within your implementation (by inspection of the "Files changed" section), maybe we can have a talk to discuss about it.

Thank you in advance. Best regards, Andrea

rois1995 avatar Apr 21 '22 17:04 rois1995

Hi @sun5k,

I think that the restart of the solution is missing. Since for CTransLMSolver you have inherited the functions from CTurbSolver class, the restart is only applied to the turbulent solver. I solved this problem by creating another class called CTransSolver which is a copy of the CTurbSolver class but with a modified LoadRestart function. I guess that the function in the CTurbSolver class can be modified to take into account the transition solver. It depends if we want to divide the transition from the turbulence solver or not.

rois1995 avatar Apr 27 '22 17:04 rois1995

Hi @rois1995.

The LM model code under the development clearly has some problems. I've not finished yet all validation cases for commonly used. So, I can't help with the E387 profile problem. but, I think I can give some helpful comments.

Check the numerical scheme which you used. like Roe and L2Roe, AUSM and SLAU. In my case, I didn't think to use the low dissipation scheme because I thought the code was wrong.

I upload the configure file for the T3A flat plate case, which I used.

sun5k avatar Apr 27 '22 17:04 sun5k

Hi guys~

Here is sharing the status of the LM model.

V&V cases: T3A, T3A-, NLF

Flow conditions are the reference from: https://doi.org/10.2514/6.2022-3679.

The grids of T3A and NLF cases are provided by TMW(Transition Model Workshop). And I made the grid of T3A- myself.

To validate the LM model, the simulation results of SU2 are compared with the results of Fluent19.0 with a similar numerical setting.

Here is the numerical scheme :

  Fluent SU2
Flux Roe-FDS L2ROE
Gradient Least Squares Cell Based WEIGHTED_LEAST_SQUARES
Spatial Discretization Flow Third-order MUSCL MUSCL_FLOW
Spatial Discretization Turbulence First-order Upwind MUSCL_NO
The CFL number is set constant value.

Some high-resolution grid-level results are missed because I don't have enough computational resources. Here is Result

T3A :

image image image image

T3A-: The gird test result is not converged, but It's enough to compare the model.

image image image image

NLF : AoA 0 case is shown. In this case, the flow separation occurred on the upper surface. So, not fully converged, and I show only Fine level grid results according to the number of iterations. image Zoom to the separation region : image

Now I'm testing on effect of the numerical schemes and other options like CONV_NUM_METHOD_FLOW, MUSCL_TURB, CFL, and CFL_ADAPT.

sun5k avatar Jul 26 '22 02:07 sun5k

Results look good :+1: You should present this work at the SU2 conference https://su2code.github.io/ please submit a short abstract if you want to present.

pcarruscag avatar Jul 27 '22 15:07 pcarruscag

Hi @sun5k, could you please add also the configuration files to reproduce these results? I would try to run these simulations too with my implementation of the transition model.

Thank you in advance!

rois1995 avatar Jul 28 '22 13:07 rois1995

Results look good 👍 You should present this work at the SU2 conference https://su2code.github.io/ please submit a short abstract if you want to present. @pcarruscag Thank you for the suggestion. I want to really participate in the SU2 conference, but I can't afford to make a presentation at the SU2 conference because I'm busy with my wedding and preparing for domestic conferences. Guess I'll have to look forward to participating in next year's SU2 conference.

sun5k avatar Jul 28 '22 16:07 sun5k

Hi @sun5k, could you please add also the configuration files to reproduce these results? I would try to run these simulations too with my implementation of the transition model.

Thank you in advance!

Hi @rois1995 Of course! However, I'm still under testing, so I can't guarantee the result if the numerical scheme or the other options are changed. Which configuration file would you want?

By any chance, are you implementing or developing a transition model? Can you tell me what model you are willing to use if it's a model implementation? My next goal is to implement the AFT model or the k-w-gamma model, but I'm trying to implement a k-w-gamma model because it seems like the AFT model is being implemented by the other developer.

sun5k avatar Jul 28 '22 16:07 sun5k

Hi @sun5k, could you please add also the configuration files to reproduce these results? I would try to run these simulations too with my implementation of the transition model. Thank you in advance!

Hi @rois1995 Of course! However, I'm still under testing, so I can't guarantee the result if the numerical scheme or the other options are changed. Which configuration file would you want?

By any chance, are you implementing or developing a transition model? Can you tell me what model you are willing to use if it's a model implementation? My next goal is to implement the AFT model or the k-w-gamma model, but I'm trying to implement a k-w-gamma model because it seems like the AFT model is being implemented by the other developer.

If you could send me the config files for the T3A, T3A- and NLF test cases it would be awesome!

I have implemented the same model as yours, the LM model, in parallel to you 'cause I needed it for some simulations. I also tried implementing the same version but related to the SA turbulence model, however it still is bothering me that I cannot seem to get good results on it.

If you want, I also tried the prolate spheroid test-case with good results. If you need I can give the configs and the meshes. The only thing about this test-case is that it is more related to the cross-flow transition, thus it needs to be implemented, which I think I'll do in these days.

I think that the k-w-gamma model is the way to go right after the implementation of the LM model since it has lots of equations in common. Do you think that you need another class for it or you will write on the same classes that you have already built (like the CTransLMSolver)?

rois1995 avatar Jul 29 '22 06:07 rois1995

Hi @sun5k, could you please add also the configuration files to reproduce these results? I would try to run these simulations too with my implementation of the transition model. Thank you in advance!

Hi @rois1995 Of course! However, I'm still under testing, so I can't guarantee the result if the numerical scheme or the other options are changed. Which configuration file would you want? By any chance, are you implementing or developing a transition model? Can you tell me what model you are willing to use if it's a model implementation? My next goal is to implement the AFT model or the k-w-gamma model, but I'm trying to implement a k-w-gamma model because it seems like the AFT model is being implemented by the other developer.

If you could send me the config files for the T3A, T3A- and NLF test cases it would be awesome!

I have implemented the same model as yours, the LM model, in parallel to you 'cause I needed it for some simulations. I also tried implementing the same version but related to the SA turbulence model, however it still is bothering me that I cannot seem to get good results on it.

If you want, I also tried the prolate spheroid test-case with good results. If you need I can give the configs and the meshes. The only thing about this test-case is that it is more related to the cross-flow transition, thus it needs to be implemented, which I think I'll do in these days.

I think that the k-w-gamma model is the way to go right after the implementation of the LM model since it has lots of equations in common. Do you think that you need another class for it or you will write on the same classes that you have already built (like the CTransLMSolver)?

The test case(T3A, T3A-, and NLF-0416) configuration files were uploaded to my git repository. Here is the link.

Suggestions for the prolate spheroid test-case is appreciated. However, my transition model is the LM-2009, and I have no plans for the 2015-LM model. Therefore, the cross-flow transition is left for future developers.

I think the CTransGammaSolver, CTransGSolver, or the other name of classes will be added for the k-w-gamma transition model. It's a vague idea, I haven't really thought about detail yet.

sun5k avatar Aug 02 '22 01:08 sun5k

"[WIP] Develop for Langtry and Menter transition model. #1592" was merged while trying to update my remote repository to v7.40. I'm not good at using GitHub, so I'm sorry for this situation.

My remote repository(forked) is not synchronized with v7.40, and I don't know what the problem is. So, I will delete the forked repository and fork it again to PR with the same name and content. Fortunately, the LM model updated to v7.40 obtained the same residuals and results as the previous v7.3.1.

sun5k avatar Sep 05 '22 08:09 sun5k