CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > SU2

Hybrid RANS/LES models

Register Blogs Community New Posts Updated Threads Search

Like Tree4Likes

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   June 27, 2014, 12:24
Default Hybrid RANS/LES models
  #1
Member
 
Eduardo Molina
Join Date: Sep 2010
Location: Brazil
Posts: 35
Rep Power: 15
EMolina is on a distinguished road
Developers and users,

I would like to know if someone is working (or already worked) on Hybrid RANS/LES models such DES/DDES with SU2. Is it implemented in the current SU2 3.2 version?

Regards,

Eduardo.
EMolina is offline   Reply With Quote

Old   June 27, 2014, 15:56
Default
  #2
Member
 
Jianming Liu
Join Date: Mar 2009
Location: China
Posts: 71
Rep Power: 17
liujmljm is on a distinguished road
Quote:
Originally Posted by EMolina View Post
Developers and users,

I would like to know if someone is working (or already worked) on Hybrid RANS/LES models such DES/DDES with SU2. Is it implemented in the current SU2 3.2 version?

Regards,

Eduardo.
I think it is very simple to add DES in SU2. In fact, I have added this. Now I am testing the DES with SA model.
liujmljm is offline   Reply With Quote

Old   June 27, 2014, 16:21
Default
  #3
Member
 
Eduardo Molina
Join Date: Sep 2010
Location: Brazil
Posts: 35
Rep Power: 15
EMolina is on a distinguished road
Hi Jianming Liu,

I would appreciate if you can share your modification, I am also interested in DES with SU2.

Regards,

Eduardo.
EMolina is offline   Reply With Quote

Old   June 27, 2014, 19:03
Default
  #4
Member
 
Jianming Liu
Join Date: Mar 2009
Location: China
Posts: 71
Rep Power: 17
liujmljm is on a distinguished road
Quote:
Originally Posted by EMolina View Post
Hi Jianming Liu,

I would appreciate if you can share your modification, I am also interested in DES with SU2.

Regards,

Eduardo.
I just modify ten files in SU2. I will show the modification here.
1. in config_structure.hpp,in class CConfig, add two data members: double Const_DES; bool With_DES;
Const_DES is constant for DES, for SA model it should be equal to 0.65

give two declaration of member function:I use following
double GetConst_DES(void);
bool GetWith_DES(void);

2 in config_structure.inl, add two definition of inline function:
inline double CConfig::GetConst_DES(void) { return Const_DES; }
inline bool CConfig::GetWith_DES(void) { return With_DES; }

3 in dual_grid_structure.hpp, add member in class CPoint

double Turb_Len_Scale_DES; /*!< \brief DES turbulent length scale */
* \brief DES turbulent length scale. JamesLiu Oct12
* \param[in] val_distance - Value of the distance.
*/
void SetTurb_Len_Scale_DES(double val_distance);

/*!
* \brief Get the value of the DES turbulent length scale.
* \return Value of the DES turbulent length scale.
*/
double GetTurb_Len_Scale_DES(void);

4 in dual_grid_structure.inl, add incline function

inline void CPoint::SetTurb_Len_Scale_DES(double val_distance) { Turb_Len_Scale_DES = val_distance; }

inline double CPoint::GetTurb_Len_Scale_DES(void) { return Turb_Len_Scale_DES; }

5 in file: geometry_structure.hpp, add declaration in class CGeometry

virtual void ComputeTurb_Len_Scale_DES(CConfig *config);
in class CPhysicalGeometry add

void ComputeTurb_Len_Scale_DES(CConfig *config);

6 in file: geometry_structure.inl, add the definition
inline void CGeometry::ComputeTurb_Len_Scale_DES(CConfig *config) { }

7 in file: config_structure.cpp, in void CConfig::SetConfig_Options(unsigned short val_iZone, unsigned short val_nZone) add
addDoubleOption("CONST_DES", Const_DES, 0.65);

8 in geometry_structure.cpp, add definition of member function:

void CPhysicalGeometry::ComputeTurb_Len_Scale_DES(CConf ig *config) {

9 in SU2_CFD.cpp add
// JamesLiu for DES turbulent length scale
if ( (config_container[iZone]->GetKind_Solver() == RANS) && config_container[iZone]->GetWith_DES() )
geometry_container[iZone][MESH_0]->ComputeTurb_Len_Scale_DES(config_container[iZone]);

10 in solver_direct_turbulent.cpp change the definition of void CTurbSASolver::Source_Residual(CGeometry *geometry, CSolver **solver_container, CNumerics *numerics, CNumerics *second_numerics,
CConfig *config, unsigned short iMesh) {

use Turb_Len_Scale_DES to replace the distance of d.

Here I just show the modification I used for SA model, I think the process for DES SST model is same. I am doing the V&V for the modification. If the developers or other users have done this,
I appreciate for people to discuss this modification.

Jianming
zkdkeen and EMolina like this.

Last edited by liujmljm; June 28, 2014 at 06:48.
liujmljm is offline   Reply With Quote

Old   June 29, 2014, 14:13
Default
  #5
Member
 
Eduardo Molina
Join Date: Sep 2010
Location: Brazil
Posts: 35
Rep Power: 15
EMolina is on a distinguished road
Hi .

Thank you very much. I will perform your modifications. Did you run any validation case?

Regards,.

Eduardo.
EMolina is offline   Reply With Quote

Old   June 30, 2014, 19:45
Default
  #6
Member
 
Eduardo Molina
Join Date: Sep 2010
Location: Brazil
Posts: 35
Rep Power: 15
EMolina is on a distinguished road
Hi Jianming,

I have a couple of questions:

a) In step 8, Is missing the way you compute the DES turbluent scale?

b) In step 10, you replace the GetWall_Distance() for GetTurb_Len_Scale_DES()?

c) You implemented the DES97 version or the Delayed-DES version?

Thank you very much

Regards,

Eduardo
EMolina is offline   Reply With Quote

Old   June 30, 2014, 20:10
Default
  #7
Member
 
Jianming Liu
Join Date: Mar 2009
Location: China
Posts: 71
Rep Power: 17
liujmljm is on a distinguished road
Quote:
Originally Posted by EMolina View Post
Hi Jianming,

I have a couple of questions:

a) In step 8, Is missing the way you compute the DES turbluent scale?

b) In step 10, you replace the GetWall_Distance() for GetTurb_Len_Scale_DES()?

c) You implemented the DES97 version or the Delayed-DES version?

Thank you very much

Regards,

Eduardo
I just use DES97, the other manner, such as Delayed-DES version, I will try to add in coming days.
the overall code for the step 8 and 10, I will paste tomorrow.
liujmljm is offline   Reply With Quote

Old   July 1, 2014, 11:23
Default
  #8
Member
 
Jianming Liu
Join Date: Mar 2009
Location: China
Posts: 71
Rep Power: 17
liujmljm is on a distinguished road
Quote:
Originally Posted by EMolina View Post
Hi Jianming,

I have a couple of questions:

a) In step 8, Is missing the way you compute the DES turbluent scale?

b) In step 10, you replace the GetWall_Distance() for GetTurb_Len_Scale_DES()?

c) You implemented the DES97 version or the Delayed-DES version?

Thank you very much

Regards,

Eduardo
void CPhysicalGeometry::ComputeTurb_Len_Scale_DES(CConf ig *config) {

double *coord, dist00, dist;
unsigned short iDim, nNeigh,iNeigh; /* JamesLiu Oct12*/
unsigned long iPoint;
unsigned long No_neigh;
double xCoord_neigh;
double cdesljm;

/*--- Loop over all interior mesh nodes and compute the distances to each
of the no-slip boundary nodes. Store the minimum distance to the wall for
each interior mesh node. ---*/
cdesljm=config->GetConst_DES();

for (iPoint = 0; iPoint < GetnPoint(); iPoint++) {
nNeigh = node[iPoint]->GetnPoint();
coord = node[iPoint]->GetCoord();
dist = 1E-20;
for (iNeigh = 0; iNeigh < nNeigh; iNeigh++){
No_neigh = node[iPoint]->GetPoint(iNeigh);
dist00=0.0;
for (iDim = 0; iDim < nDim; iDim++) {
xCoord_neigh = node[No_neigh]->GetCoord(iDim);
dist00 += (coord[iDim]-xCoord_neigh)*(coord[iDim]-xCoord_neigh);
}
dist00=sqrt(dist00)/1.73205080757; /* sqrt(3) for unstructured grid 1.73205080757*/
if(dist00>dist)
dist=dist00;
}
node[iPoint]->SetTurb_Len_Scale_DES(dist*cdesljm);
}
}
liujmljm is offline   Reply With Quote

Old   July 1, 2014, 11:27
Default
  #9
Member
 
Jianming Liu
Join Date: Mar 2009
Location: China
Posts: 71
Rep Power: 17
liujmljm is on a distinguished road
Quote:
Originally Posted by EMolina View Post
Hi Jianming,

I have a couple of questions:

a) In step 8, Is missing the way you compute the DES turbluent scale?

b) In step 10, you replace the GetWall_Distance() for GetTurb_Len_Scale_DES()?

c) You implemented the DES97 version or the Delayed-DES version?

Thank you very much

Regards,

Eduardo
in void CTurbSASolver::Source_Residual(CGeometry *geometry, CSolver **solver_container, CNumerics *numerics, CNumerics *second_numerics,
CConfig *config, unsigned short iMesh) {

first give definition for two double variables (dist00,dist00DES), then you should change the distance to the wall like following.


/*--- Set distance to the surface ---*/
// numerics->SetDistance(geometry->node[iPoint]->GetWall_Distance(), 0.0);
//---------------------------------------------

// JamesLiu Oct14
dist00=geometry->node[iPoint]->GetWall_Distance();

if(config->GetWith_DES()) {
dist00DES=geometry->node[iPoint]->GetTurb_Len_Scale_DES();
if(dist00<dist00DES) dist00DES=dist00;
numerics->SetDistance(dist00DES, 0.0);
}
else
numerics->SetDistance(dist00, 0.0);
liujmljm is offline   Reply With Quote

Old   July 1, 2014, 11:30
Default
  #10
Member
 
Jianming Liu
Join Date: Mar 2009
Location: China
Posts: 71
Rep Power: 17
liujmljm is on a distinguished road
the modification for SA-model + DES97 is developed under SU2V3.2
liujmljm is offline   Reply With Quote

Old   July 2, 2014, 11:20
Default
  #11
Member
 
Jianming Liu
Join Date: Mar 2009
Location: China
Posts: 71
Rep Power: 17
liujmljm is on a distinguished road
when you run des, you should add the option in the configure file
liujmljm is offline   Reply With Quote

Old   July 2, 2014, 22:14
Default
  #12
Member
 
Eduardo Molina
Join Date: Sep 2010
Location: Brazil
Posts: 35
Rep Power: 15
EMolina is on a distinguished road
Hi

In step 7 I think it is missing:
addBoolOption("WITH_DES", With_DES, false);

I follow your steps and compiled the su2 code succesfully. Once again thank you very much,

Now, I am planning to validate this DES modification using the square cylinder test case. Following this AIAA paper:

http://www.google.com.br/url?sa=t&rc...70138588,d.cWc

I create a very similar grid and now I will run this test case. If you are interested in see the 3D grid I can send you!

Meanwhile, I am seeing how we can implement the DDES version.

Regards.

Eduardo.
EMolina is offline   Reply With Quote

Old   July 3, 2014, 03:44
Default
  #13
Member
 
Jianming Liu
Join Date: Mar 2009
Location: China
Posts: 71
Rep Power: 17
liujmljm is on a distinguished road
Quote:
Originally Posted by EMolina View Post
Hi

In step 7 I think it is missing:
addBoolOption("WITH_DES", With_DES, false);

I follow your steps and compiled the su2 code succesfully. Once again thank you very much,

Now, I am planning to validate this DES modification using the square cylinder test case. Following this AIAA paper:

http://www.google.com.br/url?sa=t&rc...70138588,d.cWc

I create a very similar grid and now I will run this test case. If you are interested in see the 3D grid I can send you!

Meanwhile, I am seeing how we can implement the DDES version.

Regards.

Eduardo.
Yes, you are right, I am sorry I forget: addBoolOption("WITH_DES", With_DES, false);
Could you please send your grid to me. my email is jmliuxznu@163.com
thank you very much
liujmljm is offline   Reply With Quote

Old   July 8, 2014, 12:17
Default
  #14
Member
 
Eduardo Molina
Join Date: Sep 2010
Location: Brazil
Posts: 35
Rep Power: 15
EMolina is on a distinguished road
Hi,

I send you the email.

Did you get it?

Regards.
EMolina is offline   Reply With Quote

Old   July 8, 2014, 14:20
Default
  #15
Member
 
Jianming Liu
Join Date: Mar 2009
Location: China
Posts: 71
Rep Power: 17
liujmljm is on a distinguished road
Quote:
Originally Posted by EMolina View Post
Hi,

I send you the email.

Did you get it?

Regards.
Sorry, I just check my email now. Thank you. I get it.

Jianming
liujmljm is offline   Reply With Quote

Old   July 9, 2014, 23:07
Default
  #16
New Member
 
Indiana
Join Date: Dec 2013
Posts: 2
Rep Power: 0
wanjia is on a distinguished road
Hi, I am inspired by your discussion. But I still have one question after reading it. Since DES is a LES-like method which permits the instability fluctuation in it, the second order upwind scheme seems not a good choice. Have you guys checked any other high order central schemes available for viscous terms?
wanjia is offline   Reply With Quote

Old   July 10, 2014, 22:17
Default
  #17
Member
 
Eduardo Molina
Join Date: Sep 2010
Location: Brazil
Posts: 35
Rep Power: 15
EMolina is on a distinguished road
Hi wanjia

Maybe you are right. I have been working with DES on commercial softwares and they are basically originated from RANS codes as SU2. Some codes are Hybrid (center-scheme in the LES region) and upwind in URANS regions. But Spalart showed in his paper that is possible to get generous LES-content even in a pure second-order upwind code. As he also said: "It is best to avoid blanket statements."

I am testing the DES capabilities with JST and the Roe scheme. When I finished I will share here with the community.

Thank you for your interest.

Regards

Eduardo
EMolina is offline   Reply With Quote

Old   July 11, 2014, 05:04
Default Hybrid URANS/LES
  #18
Senior Member
 
Albrecht vBoetticher
Join Date: Aug 2010
Location: Zürich, Swizerland
Posts: 237
Rep Power: 16
vonboett is on a distinguished road
I recommedn the LeMoS OpenFOAM extensions for 2.3.x
vonboett is offline   Reply With Quote

Old   July 12, 2014, 14:34
Default
  #19
hlk
Senior Member
 
Heather Kline
Join Date: Jun 2013
Posts: 309
Rep Power: 13
hlk is on a distinguished road
Hello
Thank you for your interest in su2.
Please feel free to submit a pull request on github for any new capabilities you have developed.
hlk is offline   Reply With Quote

Old   July 12, 2014, 17:09
Default
  #20
Member
 
Jianming Liu
Join Date: Mar 2009
Location: China
Posts: 71
Rep Power: 17
liujmljm is on a distinguished road
Quote:
Originally Posted by hlk View Post
Hello
Thank you for your interest in su2.
Please feel free to submit a pull request on github for any new capabilities you have developed.
Thank you very much. I will learn how to use github.
liujmljm is offline   Reply With Quote

Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Eddy Viscosity Models and Reynolds Stress Models JuPa CFX 1 August 20, 2013 18:56
Error quantification for Hybrid LES models M_Tidswell CFX 0 April 8, 2013 08:17
Two-fluid models vs mixture models for bubbly flows Hansong Tang Main CFD Forum 6 December 8, 2009 03:21
hybrid RANS/LES in CFX? Hao CFX 4 February 25, 2009 03:38
Hybrid mesh generation Jake Main CFD Forum 2 April 21, 2007 14:27


All times are GMT -4. The time now is 21:43.