|
[Sponsors] |
May 30, 2015, 11:21 |
The spirit of SIMPLE algorithm in simpleFoam
|
#1 |
Senior Member
Dongyue Li
Join Date: Jun 2012
Location: Beijing, China
Posts: 838
Rep Power: 17 |
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,
__________________
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 |
|
June 15, 2015, 04:13 |
|
#2 |
New Member
Hiroaki Fujio
Join Date: Aug 2013
Posts: 3
Rep Power: 12 |
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. |
|
June 15, 2015, 04:21 |
|
#3 | |
Senior Member
Dongyue Li
Join Date: Jun 2012
Location: Beijing, China
Posts: 838
Rep Power: 17 |
Quote:
__________________
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 |
||
June 15, 2015, 04:37 |
|
#4 | |
New Member
Hiroaki Fujio
Join Date: Aug 2013
Posts: 3
Rep Power: 12 |
Quote:
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 |
||
June 17, 2015, 18:24 |
|
#5 |
New Member
Hiroaki Fujio
Join Date: Aug 2013
Posts: 3
Rep Power: 12 |
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. |
|
April 12, 2020, 04:43 |
|
#6 | |
New Member
Russian Federation
Join Date: Apr 2020
Posts: 18
Rep Power: 6 |
Quote:
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. |
||
April 16, 2020, 05:46 |
|
#7 |
Senior Member
Michael Alletto
Join Date: Jun 2018
Location: Bremen
Posts: 615
Rep Power: 15 |
You can find a quite detailed description of simpleFoam here: https://openfoamwiki.net/index.php/SimpleFoam
|
|
|
|
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 |