CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Running, Solving & CFD

A big issue in turbulence modeling

Register Blogs Members List Search Today's Posts Mark Forums Read

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   August 24, 2018, 03:49
Default A big issue in turbulence modeling
  #1
New Member
 
Morteza
Join Date: Jan 2018
Posts: 22
Rep Power: 5
mortezahdr is on a distinguished road
Dear OF users,

I am using pimpleDyMFoam solver for turbulence modeling of fluid flow around a propeller. I am interested in near wall modeling, so on the propeller surface, y+<1 (~0.1). I use kOmegaSST turbulence model with omegaWallFunction, and fixedValue for k and nut on the propeller surface (~1e-8). The problem is that since the mesh has very small cells to resolve the boundary layer, the time step becomes very low, order of 1e-10. Therefore, it takes more than a month to get a converged solution and desired output. I know that by changing some settings in the fvSolution file, it is possible to increase the Courant number and fix the time step with a larger value, but this increase is not enough to get dt~1e-05. I would appreciate if users who have experience in turbulence modeling on dynamic mesh with y+~0.1 can share their experience with dealing the time step, Courant number and divergence issue.

Thanks.
mortezahdr is offline   Reply With Quote

Old   August 24, 2018, 05:38
Default
  #2
Senior Member
 
Santiago Lopez Castano
Join Date: Nov 2012
Posts: 331
Rep Power: 12
Santiago is on a distinguished road
Quote:
Originally Posted by mortezahdr View Post
Dear OF users,

I am using pimpleDyMFoam solver for turbulence modeling of fluid flow around a propeller. I am interested in near wall modeling, so on the propeller surface, y+<1 (~0.1). I use kOmegaSST turbulence model with omegaWallFunction, and fixedValue for k and nut on the propeller surface (~1e-8). The problem is that since the mesh has very small cells to resolve the boundary layer, the time step becomes very low, order of 1e-10. Therefore, it takes more than a month to get a converged solution and desired output. I know that by changing some settings in the fvSolution file, it is possible to increase the Courant number and fix the time step with a larger value, but this increase is not enough to get dt~1e-05. I would appreciate if users who have experience in turbulence modeling on dynamic mesh with y+~0.1 can share their experience with dealing the time step, Courant number and divergence issue.

Thanks.
Couple of things first: why such small y+ for RANS using wall functions? How is the approach for moving the propeller? Have you tested your grid with potentialFoam?
Santiago is offline   Reply With Quote

Old   August 24, 2018, 05:45
Default
  #3
New Member
 
Morteza
Join Date: Jan 2018
Posts: 22
Rep Power: 5
mortezahdr is on a distinguished road
Quote:
Originally Posted by Santiago View Post
Couple of things first: why such small y+ for RANS using wall functions? How is the approach for moving the propeller? Have you tested your grid with potentialFoam?
1.After reading relative threads, I found that for near wall modeling, kOmegaSST may be used with no wall function for k and nut, but omegaWallFunction for omega. I do this to get rid of wall functions and do a near wall model. Is there any better turbulence model to do this?
2. Moving is done by using AMI patches, one for the statinary part of mesh and the other one for the rotating part, a cylinder around the propeller
3. I have not. What information can I get by doing so?
Thanks for your reply.
mortezahdr is offline   Reply With Quote

Old   August 24, 2018, 08:37
Default
  #4
Senior Member
 
Santiago Lopez Castano
Join Date: Nov 2012
Posts: 331
Rep Power: 12
Santiago is on a distinguished road
1. What do you mean by "near wall" model? All scales of turbulence are modelled in RANS, thus such refining near the wall seems to be counterproductive. Wall functions are needed anyway.

2. Good, how regular is the mesh in the interface region? Edge length ratio of the faces on the opposing sides?

3. Grid quality, mass conservation.
Santiago is offline   Reply With Quote

Old   August 24, 2018, 11:08
Default
  #5
Senior Member
 
piu58's Avatar
 
Uwe Pilz
Join Date: Feb 2017
Location: Leipzig, Germany
Posts: 681
Rep Power: 11
piu58 is on a distinguished road
I recommend another approach.

Simulate the global flow around the propeller with a normal sized mesh, which can be calculated in a few hours.

Use the results of this simulation as a boundary condition for the near wall computation. Probably, you may use a quasi 1d simulation for this. I write quasi 1d, because you need a 3d model for the turbulence happenings. But the model may be simply a cuboid. You don't need to solve all points at the propeller this way, only a cross section of different velocity at the boundary, calculated at the first step. It may even be, that you get a theoretical solution for this. Wall functions are nothing different but a theretical solution or at lest model for this region.

Most probably you have to make some more complicated models with more difficult geometry at some regions of interest.

Or short: Split the problem!
__________________
Uwe Pilz
--
Die der Hauptbewegung überlagerte Schwankungsbewegung ist in ihren Einzelheiten so hoffnungslos kompliziert, daß ihre theoretische Berechnung aussichtslos erscheint. (Hermann Schlichting, 1950)
piu58 is offline   Reply With Quote

Old   August 24, 2018, 13:56
Default
  #6
New Member
 
Morteza
Join Date: Jan 2018
Posts: 22
Rep Power: 5
mortezahdr is on a distinguished road
Quote:
Originally Posted by Santiago View Post
1. What do you mean by "near wall" model? All scales of turbulence are modelled in RANS, thus such refining near the wall seems to be counterproductive. Wall functions are needed anyway.

2. Good, how regular is the mesh in the interface region? Edge length ratio of the faces on the opposing sides?

3. Grid quality, mass conservation.
Dear Santiago,

Here is what potentialFoam gives, where the answer to your second question is included:

Quote:
potentialFlow: Operating solver in PISO mode

Reading velocity field U

AMI: Creating addressing and weights between 2847 source faces and 2847 target faces
AMI: Patch source sum(weights) min/max/average = 1, 1, 1
AMI: Patch target sum(weights) min/max/average = 1, 1, 1
Constructing pressure field p

Constructing velocity potential field Phi

No MRF models present


Calculating potential flow
GAMG: Solving for Phi, Initial residual = 1, Final residual = 0.00677908, No Iterations 8
GAMG: Solving for Phi, Initial residual = 0.141347, Final residual = 0.000454325, No Iterations 2
GAMG: Solving for Phi, Initial residual = 0.0231327, Final residual = 0.000150614, No Iterations 2
Continuity error = 0.133959
Interpolated velocity error = 3.36059e-06

Calculating approximate pressure field
GAMG: Solving for p, Initial residual = 1, Final residual = 0.0065187, No Iterations 4
GAMG: Solving for p, Initial residual = 0.148052, Final residual = 0.00144734, No Iterations 2
GAMG: Solving for p, Initial residual = 0.0302199, Final residual = 0.000234948, No Iterations 4
ExecutionTime = 171.14 s ClockTime = 172 s

End
When 30<y+<100 or above, you are in the log-layer and wall functions work. Wall functions estimate the boundary layer profile which it is not really the results provided by solver, but a rough estimation of what the results should be. On the other hand, when y+<5, the cell adjacent to the wall covers the viscous sub-layer and the results will not need any modification, they almost reflect the real values. In some marine applications, the error caused by y+>30 and wall functions will increase sharply. Therefore, to get most accurate results, I have generated a mesh with y+~1.
mortezahdr is offline   Reply With Quote

Old   August 24, 2018, 14:46
Default
  #7
New Member
 
Morteza
Join Date: Jan 2018
Posts: 22
Rep Power: 5
mortezahdr is on a distinguished road
Quote:
Originally Posted by piu58 View Post
I recommend another approach.

Simulate the global flow around the propeller with a normal sized mesh, which can be calculated in a few hours.

Use the results of this simulation as a boundary condition for the near wall computation. Probably, you may use a quasi 1d simulation for this. I write quasi 1d, because you need a 3d model for the turbulence happenings. But the model may be simply a cuboid. You don't need to solve all points at the propeller this way, only a cross section of different velocity at the boundary, calculated at the first step. It may even be, that you get a theoretical solution for this. Wall functions are nothing different but a theretical solution or at lest model for this region.

Most probably you have to make some more complicated models with more difficult geometry at some regions of interest.

Or short: Split the problem!
I think it is a very good idea and will solve the problem, but is it possible to use the results of lets say mesh-A as initial values for mesh-B, while the two meshes are different?
mortezahdr is offline   Reply With Quote

Old   August 24, 2018, 16:26
Default
  #8
Senior Member
 
Santiago Lopez Castano
Join Date: Nov 2012
Posts: 331
Rep Power: 12
Santiago is on a distinguished road
Quote:
Originally Posted by mortezahdr View Post
Dear Santiago,

Here is what potentialFoam gives, where the answer to your second question is included:



When 30<y+<100 or above, you are in the log-layer and wall functions work. Wall functions estimate the boundary layer profile which it is not really the results provided by solver, but a rough estimation of what the results should be. On the other hand, when y+<5, the cell adjacent to the wall covers the viscous sub-layer and the results will not need any modification, they almost reflect the real values. In some marine applications, the error caused by y+>30 and wall functions will increase sharply. Therefore, to get most accurate results, I have generated a mesh with y+~1.
Some comments:

1. Conservation error is rather high, nevertheless not terribile. The problem may come from initial/Boundary conditions. If your objective is having a URANS solution, try using implicit time stepping along with a high courant (~2). Also, perform many outer iterations if using pimple. It may be good idea to start the solver with a potential field. It may also be important to calculate the mesh peclet, and courant number, based on the potential field and some reference time scale.

2. For k and omega, independent from grid refinement and y+, you need wall functions. Depending on the particular implementation such wall functions may or may not switch from self-similar solutions, to empirical functions fitting some prescribed profile (power law, log law). Menter's komega sst proposes a zero gradient for k and omega at the wall, where the value at the first off the wall centroid is calculated according some formulae.

One last thing: are the explanations given the product of some study you've done on the komega sst model implemented in OF? I also work on marine propellers, but have seen that accuracy on integral values (kt, kq) is more dependent on the y+ range along the blades and rudder, than the min/max y+
Santiago is offline   Reply With Quote

Old   August 24, 2018, 16:34
Default
  #9
New Member
 
Morteza
Join Date: Jan 2018
Posts: 22
Rep Power: 5
mortezahdr is on a distinguished road
Quote:
Originally Posted by Santiago View Post
Some comments:

1. Conservation error is rather high, nevertheless not terribile. The problem may come from initial/Boundary conditions. If your objective is having a URANS solution, try using implicit time stepping along with a high courant (~2). Also, perform many outer iterations if using pimple. It may be good idea to start the solver with a potential field. It may also be important to calculate the mesh peclet, and courant number, based on the potential field and some reference time scale.

2. For k and omega, independent from grid refinement and y+, you need wall functions. Depending on the particular implementation such wall functions may or may not switch from self-similar solutions, to empirical functions fitting some prescribed profile (power law, log law). Menter's komega sst proposes a zero gradient for k and omega at the wall, where the value at the first off the wall centroid is calculated according some formulae.

One last thing: are the explanations given the product of some study you've done on the komega sst model implemented in OF? I also work on marine propellers, but have seen that accuracy on integral values (kt, kq) is more dependent on the y+ range along the blades and rudder, than the min/max y+
Thanks for your comments.
There is not clear explanation provided by openfoam. My boundary/initial values for this simulation are based on experience of other people with the same y+ and solver shared in this forum. The y+ value I have considered is the average on the propeller surface and I believe the average should show a value which covers boundary layer successfully.
mortezahdr is offline   Reply With Quote

Old   August 25, 2018, 07:52
Default
  #10
Senior Member
 
Santiago Lopez Castano
Join Date: Nov 2012
Posts: 331
Rep Power: 12
Santiago is on a distinguished road
Quote:
Originally Posted by mortezahdr View Post
. The y+ value I have considered is the average on the propeller surface and I believe the average should show a value which covers boundary layer successfully.

Considering the mean as a metric for assesing the regime in which the solution of the boundary layer lies seems, to say the best, faulty. The mean may fall in the buffer region, maybe leading to the wrong conclusion that you might need to refine/decimate the near-wall grid. Maybe the distribution you have is very flat, giving the false impression that your solution may fall into the "twighlight" zone and forcing you to, most likely, refine.

Commercial meshing packages (gridgen, CUBIT) allow for plotting the distribution of edge sizes on your mesh/regions of interest in an attempt to optimize things
Santiago is offline   Reply With Quote

Old   August 26, 2018, 03:49
Default
  #11
Senior Member
 
piu58's Avatar
 
Uwe Pilz
Join Date: Feb 2017
Location: Leipzig, Germany
Posts: 681
Rep Power: 11
piu58 is on a distinguished road
> I think it is a very good idea and will solve the problem, but is it possible to use the results of lets say mesh-A as initial values for mesh-B, while the two meshes are different?


Of course. You read the results and make some interpolation of boundary values. All in all, you may have to do some manual work (with the pocket calculator). But it is not a complicated task in closer sense.
__________________
Uwe Pilz
--
Die der Hauptbewegung überlagerte Schwankungsbewegung ist in ihren Einzelheiten so hoffnungslos kompliziert, daß ihre theoretische Berechnung aussichtslos erscheint. (Hermann Schlichting, 1950)
piu58 is offline   Reply With Quote

Reply

Tags
pimple, time-step, turbulence, yplus

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

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
Checking if Turbulence modeling is on/off Jack001 OpenFOAM Programming & Development 6 July 17, 2016 15:39
Only two turbulence options available in CFX Pre Jack001 CFX 5 March 30, 2016 02:47
synthetic turbulence fluctuation in LES Modeling SEB12129 STAR-CCM+ 1 October 9, 2015 12:18
Boundary conditions for RAS turbulence modeling HerrSchein OpenFOAM Pre-Processing 0 August 4, 2015 09:25
CFD-Wiki Monthly Focus Area: Turbulence Modeling Jonas Larsson Main CFD Forum 0 May 6, 2006 19:08


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