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

How to stabilize a SIMPLE FOAM simulation?

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

Like Tree3Likes
  • 1 Post By Googlestuff
  • 2 Post By RodriguezFatz

Reply
 
LinkBack Thread Tools Display Modes
Old   September 3, 2014, 09:14
Default How to stabilize a SIMPLE FOAM simulation?
  #1
New Member
 
Join Date: Jul 2014
Posts: 17
Rep Power: 3
Specialist is on a distinguished road
hello guys,

I simulate an air flow through a pipe. Right know I try to find the convergence point of my grid. For this I do following: Step by step I make the grid finer.

The first steps go along with no problems. The solutions convergences. But, at one point, the simulations does not convergence anymore, although I have nothing changed except the grid.

I work with SIMPLE FOAM.

I tried to change the time step, but that does not work

Do you have any idea, how I can stabilize my simulation? Are there any adjustable coefficients?


Regards

Specialist
Specialist is offline   Reply With Quote

Old   September 3, 2014, 10:23
Default
  #2
Senior Member
 
RodriguezFatz's Avatar
 
Philipp
Join Date: Jun 2011
Location: Germany
Posts: 1,097
Rep Power: 16
RodriguezFatz will become famous soon enough
Hey Specialist,
SimpleFoam is a steady-state solver that does not recognize the size of the time step. Except for the names of the directories (such as \0 \100 ...) where the data is stored during calculation. So changing that doesn't work at all for your purpose.

What turbulence model do you use and what boundary conditions do you have?

Generally, the easiest thing is to use under-relaxation.
In your fvSolution file you need to have something like

Code:
relaxationFactors
{
    fields
    {
        "(p)"           0.3;
    }
    equations
    {
        "(U)"           0.7;
        "(k)"           0.8;
        "(omega)"       0.8;
    }
}
__________________
The skeleton ran out of shampoo in the shower.
RodriguezFatz is offline   Reply With Quote

Old   September 3, 2014, 10:49
Default
  #3
New Member
 
Join Date: Jul 2014
Posts: 17
Rep Power: 3
Specialist is on a distinguished road
so far, I do not use any turbulence model.

Due to the fact that the simulations works with an rough grid, I thought a turbulence model is not important?

I tried:

inletoutlet
zeroGradient
Specialist is offline   Reply With Quote

Old   September 3, 2014, 10:58
Default
  #4
Senior Member
 
RodriguezFatz's Avatar
 
Philipp
Join Date: Jun 2011
Location: Germany
Posts: 1,097
Rep Power: 16
RodriguezFatz will become famous soon enough
What Reynolds number do you have for the pipe flow?
__________________
The skeleton ran out of shampoo in the shower.
RodriguezFatz is offline   Reply With Quote

Old   September 4, 2014, 08:22
Default
  #5
New Member
 
Sebastian
Join Date: Nov 2013
Location: Germany
Posts: 14
Rep Power: 3
Googlestuff is on a distinguished road
Hi.

I would like to understand under-relaxation. Can you explain more about the relaxationFactors? What do they do exactly and how can i estimate the values for them? Or is it just arbitrary between 0 and 1?

Can i use them for an unsteady simulation as well?

Best regards,
Googlestuff
Ingöö likes this.
Googlestuff is offline   Reply With Quote

Old   September 4, 2014, 08:31
Default
  #6
Senior Member
 
RodriguezFatz's Avatar
 
Philipp
Join Date: Jun 2011
Location: Germany
Posts: 1,097
Rep Power: 16
RodriguezFatz will become famous soon enough
Under-Relaxation is explained in every numerics book, this is a general concept for all iterative solvers. I guess, you will find a much better explanation than I can give you. Anyway:
You want to solve some equation, such as f(x)=0.
Since you don't know the result, you will try some x_0 as intial value.
Now, you put x_0 in your equation and will find out, that it is not satisfied, i.e. f(x_0) = e_0, with e_0 an error.
Hopefully you are already close, so you need to add or substract something from your x_0, such as
x_1 = x_0 + dx_0.
Since you don't know the correct size of dx_0, you will get a new "wrong" value that also does not solve the equation but maybe it is closer, so
f(x_1) = e_1 < e_0.
You keep going until the error e_i is small enough. This is iterative solving.
Under-relaxation means that you don't use the dx_i that are calculated by your solver to correct the x_i, but that you use
x_2 = x_1 + alpha * dx_1, with alpha the under-relaxation factor, if alpha < 1.
It is called over-relaxation factor, if alpha > 1.
Under-relaxation is used, when your new values x_i+1 tend to be even worse than the old values x_i, since your dx_i was too large. You "jumped" over your target value. It stabilizes the simulation but generally makes it slower.

Under-relaxation for SIMPLE algorithm are normally about the values I proposed in my post. Seems to be a good guess for most cases.
Googlestuff and phico like this.
__________________
The skeleton ran out of shampoo in the shower.
RodriguezFatz is offline   Reply With Quote

Old   September 5, 2014, 04:24
Default
  #7
New Member
 
Join Date: Jul 2014
Posts: 17
Rep Power: 3
Specialist is on a distinguished road
ok guys. you helped me a lot!

now it is time for pizza
Specialist is offline   Reply With Quote

Reply

Thread Tools
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 On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
shm in parallel with simple decomposition mihaipruna OpenFOAM Native Meshers: snappyHexMesh and Others 6 July 16, 2015 04:55
decomposePar is missing a library whk1992 OpenFOAM Pre-Processing 8 March 7, 2015 08:53
Simple Java question - close & save simulation eRzBeNgEl STAR-CCM+ 8 September 5, 2013 09:45
how to do the fvSolution configuration - SIMPLE Foam - complex cylinder geometry despaired student OpenFOAM Running, Solving & CFD 10 July 5, 2012 03:36
Import problem ARC Open Source Meshers: Gmsh, Netgen, CGNS, ... 0 February 27, 2010 11:56


All times are GMT -4. The time now is 17:24.