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

The spirit of SIMPLE algorithm in simpleFoam

Register Blogs Community New Posts Updated Threads Search

Like Tree6Likes
  • 1 Post By Conte
  • 2 Post By Conte
  • 3 Post By Conte

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   May 30, 2015, 11:21
Default The spirit of SIMPLE algorithm in simpleFoam
  #1
Senior Member
 
Dongyue Li
Join Date: Jun 2012
Location: Beijing, China
Posts: 838
Rep Power: 17
sharonyue is on a distinguished road
Hello guys!

Im wondering where is the sprit of SIMPLE algorithm in simpleFoam. As we know in staggered mesh, the key point of SIMPLE is that:




But I did not see this is represented in simpleFoam. Maybe I miss sth?

Or this omission can not be applied in un-staggered mesh with Rhie-chow interpolation? Because from Hrv's thesis, the math model behind simpleFoam is quite clear and straightforward.

Best,
Attached Images
File Type: jpg 1.jpg (47.8 KB, 562 views)
__________________
My OpenFOAM algorithm website: http://dyfluid.com
By far the largest Chinese CFD-based forum: http://www.cfd-china.com/category/6/openfoam
We provide lots of clusters to Chinese customers, and we are considering to do business overseas: http://dyfluid.com/DMCmodel.html
sharonyue is offline   Reply With Quote

Old   June 15, 2015, 04:13
Default
  #2
New Member
 
Hiroaki Fujio
Join Date: Aug 2013
Posts: 3
Rep Power: 12
Conte is on a distinguished road
Hi,

The algorithm of simpleFoam looks different from what is refered to as SIMPLE algorithm by many of us.

In SIMPLE algorithm, U* is calculated from the momentum equation and then p' is calculated by substituting U* to the continuous equation.

But simpleFoam calculates HbyA (which is identical to U^ of SIMPLER algorithm) instead of U* and then calculates p directly from the continuous equation by substituting HbyA.

That is why simpleFoam doesn't have p' and U'. In simpleFoam, U is calculated from

U = HbyA - grad(p)/UEqn.A()

against

U = U* + U' = U* - grad(p')/UEqn.A()

of usual SIMPLE algorithm.
amuzeshi likes this.
Conte is offline   Reply With Quote

Old   June 15, 2015, 04:21
Default
  #3
Senior Member
 
Dongyue Li
Join Date: Jun 2012
Location: Beijing, China
Posts: 838
Rep Power: 17
sharonyue is on a distinguished road
Quote:
Originally Posted by Conte View Post
Hi,

The algorithm of simpleFoam looks different from what is refered to as SIMPLE algorithm by many of us.

In SIMPLE algorithm, U* is calculated from the momentum equation and then p' is calculated by substituting U* to the continuous equation.

But simpleFoam calculates HbyA (which is identical to U^ of SIMPLER algorithm) instead of U* and then calculates p directly from the continuous equation by substituting HbyA.

That is why simpleFoam doesn't have p' and U'. In simpleFoam, U is calculated from

U = HbyA - grad(p)/UEqn.A()

against

U = U* + U' = U* - grad(p')/UEqn.A()

of usual SIMPLE algorithm.
So maybe simpleFoam is simpleR algorithm with Rhie-chow interpolation? No wonder why there is not simpleR in openfoam and flunet....
__________________
My OpenFOAM algorithm website: http://dyfluid.com
By far the largest Chinese CFD-based forum: http://www.cfd-china.com/category/6/openfoam
We provide lots of clusters to Chinese customers, and we are considering to do business overseas: http://dyfluid.com/DMCmodel.html
sharonyue is offline   Reply With Quote

Old   June 15, 2015, 04:37
Default
  #4
New Member
 
Hiroaki Fujio
Join Date: Aug 2013
Posts: 3
Rep Power: 12
Conte is on a distinguished road
Quote:
Originally Posted by sharonyue View Post
So maybe simpleFoam is simpleR algorithm with Rhie-chow interpolation? No wonder why there is not simpleR in openfoam and flunet....
No, simpleFoam is different from SIMPLER as well.

SIMPLER algorithm is as follows:

1. Calculate U^ from the momentum equation
HbyA = UEqn().H()/UEqn.A()

2. Calculate p from the continuity equation and U^

3. Calculate Ustar from p calculated in Step 2
U* = HbyA - grad(p)/UEqn.A()

==== simpleFoam ends here and return to Step 1 with U = U* ====

4. Calculate p' from the continuity equation and U*

5. Correct U using p' but do not correct p
U = U* - grad(p')/UEqn.A()

6. Return to Step 1
vatavuk and amuzeshi like this.
Conte is offline   Reply With Quote

Old   June 17, 2015, 18:24
Default
  #5
New Member
 
Hiroaki Fujio
Join Date: Aug 2013
Posts: 3
Rep Power: 12
Conte is on a distinguished road
I have to make some corrections.
I misunderstood SIMPLER algorithm.

In Step 1, simpleFoam solves momentum equation before calculating HbyA, but SIMPLER calculates U^ from guessed velocity field and doesn't solve momentum equation here.

And in Step 3, simpleFoam adds -grad(p)/UEqn.A() to HbyA for U, but SIMPLER solves momentum equation here in order to acquire Ustar.


And I have to correct the answer to your first question.

The spirit of SIMPLE algorithm can be seen in the pressure equation of simpleFoam.

By applying the approximation of H(U') = 0, U can be expressed as U = H(U*)/A - grad(p)/A.

Therefore div(U) = div(H(U*)/A) - laplacian(1/A, p) = 0, which is identical to pEqn.

So simpleFoam is on SIMPLE algorithm.
I was wrong. I am sorry for misleading you.
makaveli_lcf, chivaee and amuzeshi like this.
Conte is offline   Reply With Quote

Old   April 12, 2020, 04:43
Default
  #6
New Member
 
Russian Federation
Join Date: Apr 2020
Posts: 18
Rep Power: 6
fetc95 is on a distinguished road
Quote:
Originally Posted by Conte View Post
I have to make some corrections.
I misunderstood SIMPLER algorithm.

In Step 1, simpleFoam solves momentum equation before calculating HbyA, but SIMPLER calculates U^ from guessed velocity field and doesn't solve momentum equation here.

And in Step 3, simpleFoam adds -grad(p)/UEqn.A() to HbyA for U, but SIMPLER solves momentum equation here in order to acquire Ustar.


And I have to correct the answer to your first question.

The spirit of SIMPLE algorithm can be seen in the pressure equation of simpleFoam.

By applying the approximation of H(U') = 0, U can be expressed as U = H(U*)/A - grad(p)/A.

Therefore div(U) = div(H(U*)/A) - laplacian(1/A, p) = 0, which is identical to pEqn.

So simpleFoam is on SIMPLE algorithm.
I was wrong. I am sorry for misleading you.
Hello, Conte. For now this is an old thread but hope somebody to answer me.

I came to the same conclusions when I analyzed the simpleFoam code. But now I cannot understand since we obtain pressure directly from the pressure equation instead the pressure correction p' what p.relax() means in the simpleFoam. It seems to mean the relaxation of p, but in the original SIMPLE the relaxation is related to pressure correction, i.e., p = p{previous} + p'. But the simpleFoam obtains the pressure directly. So, what does relaxation in the simpleFoam mean?

I am not sure but from GeometricField.C, line 941 I can suggest that relaxation here means that the pressure for the next iteration is obtained as p := p{previous} + L * (p - p{previous}), where L is relaxation factor

Last edited by fetc95; April 12, 2020 at 06:08.
fetc95 is offline   Reply With Quote

Old   April 16, 2020, 05:46
Default
  #7
Senior Member
 
Michael Alletto
Join Date: Jun 2018
Location: Bremen
Posts: 615
Rep Power: 15
mAlletto will become famous soon enough
You can find a quite detailed description of simpleFoam here: https://openfoamwiki.net/index.php/SimpleFoam
mAlletto 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
SIMPLE algorithm in 3D cylindrical coordinates zouchu Main CFD Forum 1 January 20, 2014 17:02
SIMPLE algorithm confusion lost.identity Main CFD Forum 1 October 7, 2010 11:48
SIMPLE OR SIMPLER algorithm Sergio Costa Main CFD Forum 2 July 29, 2007 06:44
About Phase Coupled SIMPLE (PC-SIMPLE) algorithm Yan Kai Main CFD Forum 0 April 18, 2007 03:48
SIMPLE algorithm Jonathan Castro Main CFD Forum 3 December 10, 1999 04:59


All times are GMT -4. The time now is 19:11.