CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM Running, Solving & CFD (https://www.cfd-online.com/Forums/openfoam-solving/)
-   -   pimpleFoam vs simpleFoam vs pisoFoam vs icoFoam? (https://www.cfd-online.com/Forums/openfoam-solving/68072-pimplefoam-vs-simplefoam-vs-pisofoam-vs-icofoam.html)

phsieh2005 September 4, 2009 16:40

pimpleFoam vs simpleFoam vs pisoFoam vs icoFoam?
 
Hi,

Can someone explain the difference among pimpleFoam, simpleFoam, pisoFoam, and icoFoam?

When to select which solver?

Thanks!

Pei

ata September 5, 2009 04:01

Hi
icoFoam is transient solver for incompressible, laminar flow of Newtonian fluids.

pimpleFoam is large time-step transient solver for incompressible, flow using the PIMPLE(merged PISO-SIMPLE) algorithm.

pisoFoam is transient solver for incompressible flow.
Turbulence modelling is generic, i.e. laminar, RAS or LES may be selected.

simpleFoam is steady-state solver for compressible, turbulent flow

Regards

Ata

David* September 21, 2009 03:53

simpleFoam is for incompressible, turbulent flow.

ata September 21, 2009 04:51

pimpleFoam vs simpleFoam vs pisoFoam vs icoFoam? Reply to Thread
 
Hi David
Thanks it's true.
Regards

Ata

kjetil February 18, 2010 10:02

Using LES with simplefoam
 
May LES be used with simpleFoam?

florian_krause February 18, 2010 10:20

Hello,

simpleFoam is a steady-state solver, as ata already mentioned.....

Thus, No you cannot use simpleFoam for LES. Use pisoFoam instead!

Best,
Florian

nileshjrane September 10, 2010 05:36

guys,

I am getting different results for same case using icoFoam and simpleFoam. icoFoam seems to give better results. What could be the reason?? Isn't the two suppose to give similar results??? BTW i am using the default solvers coming with OF170. Only change is i changed fvscheme for U to upwind (which is the scheme used in simpleFoam anyway).

Djub September 5, 2012 11:14

Hi!

I have the same kind of question: what is the interest of pisoFoam compared to pimpleFoam -and vice-versa.
I am trying to simulate the interaction between wind and buildings: my simulation has to be unsteady, incompresible, with large to very large Reynolds number and complex geometry. Should I use pisoFoam or pimpleFoam? And why?

In your case, Nilesh, icoFoam is unsteady laminar, whereas simpleFoam is stead turbulent. Equations are not similar!

I know people who have choosen to prefer pimpleFoam over pisoFoam (http://www.symscape.com/node/948). But they are running RANS, I would like to perform LES. Any advice or explaination ?

owayz September 5, 2012 16:41

Using LES or RANS doesn't matter. People who normally prefer pimpleFOAM say that pimple Algorithm is more robust and efficient. They also say that it can be used for larger (compared to piso, where courant number of > 1 could result in diverged simulation) time steps. If larger time step is of interest (as in some sudo transient cases ) then surely pimple is an attractive algorithm.
You said that you want to do LES. In LES you might also need to think about time scales and you must keep your time step smaller than the time scales of the large eddies which you are actually simulating.
What I have observed is that people normally keep the courant number less that 0.5-0.4 . Pimple offers you more control by providing nOuterIterations parameter. Where as if nOuterIterations is = 1, you pimple is just simply a piso Algorithm. So definitely some addition cost on computation with more outer iterations could improve your results, but it is sometimes an important decision whether you want to improve the results further or not.

regards,
Awais

Djub September 6, 2012 04:21

Hi Awais. Thanks a lot for your advices. But I did not catch everything:o

"as in some sudo transient cases" . What means "sudo" ?

My goal is to model very large Reynolds problem: about 1e5 or 1e6. Thus, keeping a little Co is out of my CPU capabilities. Today I am running with Co close to 1. TJunction tutorial works with a Co of 5, and only 1 nOuterIterations . So this tuto is actually a piso algorithm?

I think about using a Co of 5 (same as the tuto), and 1 nOuterIterations (just to be not only piso but real pimple). Do you think it'd be OK?

Another aspect: I am not familiar with the concept of "final" solvers. For the momment I used the same as "normal" ones:
Quote:

p {solver PCG; preconditioner DIC; tolerance 1e-06; relTol 0.1; }
pFinal { solver PCG; preconditioner DIC; tolerance 1e-06; relTol 0; }
"(U|k)" { solver PBiCG; preconditioner DILU; tolerance 1e-05; relTol 0; }
"(U|k)Final" { solver PBiCG; preconditioner DILU; tolerance 1e-05; relTol 0; }
Is this OK? Or does it make no sense? Or is it a waste of CPU?

owayz September 6, 2012 09:12

Hi Julien,
By Sudo Transient I mean a simulation which is physically not transient, but you use a transient flow solver like pimpleFoam. To see this in action you can also have a look at the angleDuct tutorial in rhoPimpleFoam/ras. There the courant number is 10.
But if you are using LES, you would need time Averaging of the solution. Plus time scale of the structures in flow is also important.
If you are doing RANS simulation then may be the setup you have just said (i.e. Co 5 and 1 nouterIteration) might work. But again in transient simulation you will be interested in averaged values of the flow, so just think whether you will be able to capture all the flow fluctuations with that time step or not.
My understanding is that you should keep Co < 1 (specially) when your flow is highly transient like flow over a cylinder produces vortex street and if the time step is high we might miss many modes of the fluctuations and this could be reflected in our averaged values (or may be it could also take more time to get a time averaged solution).
Regarding pFinal and UFinal I think these are somehow the stringent criteria for last Iteration on the equation in one pimple Loop so as to get the best possible solution in the numerical sense.
Regards,
Awais

akidess September 10, 2012 03:03

Quote:

Originally Posted by Djub (Post 380507)
"as in some sudo transient cases" . What means "sudo" ?

Small side remark - he probably meant to write 'pseudo' ;)

owayz September 10, 2012 10:25

Thanks for pointing that out Anton. :)
Regards,
Awais

Djub September 12, 2012 03:59

Hi everybody,

I ran some cases with Pimple. It rocks!
From a working PISO case, the only change is about nOuterIterations (in fvsolution ). In my case, I use 2 nOuterItreations. You have also to choose for final solvers, I suppose for the last iteration.
But PIMPLE permits the use of the entry adjustTimeStep yes in the controlDict. In this case, you control directly the CFL (entry maxCo). I am now working with a maxCo of 10 ! And it is still stable and realist . And of course much faster :D !

In this case, your time step is not constant so you may prefer to use writeControl adjustableRunTime (instead of timestep). In this case, writeInterval is in seconds.

Djub

sdharmar March 20, 2013 12:39

Courant number
 
Isn't it a problem if you increased Courant number>1

Br,
Suranga.

Djub March 21, 2013 04:53

Pimple being an Implicit numerical method (cf Wikipedia), you can use a large Co, greater than 1. Co needs to be smaller than 1 for explicit method (see here).
By the way, as owayz said, I took a great care to define correctly the time scales of the large eddies I am simulating.
In my case, there was no problem at Co=10. Nevertheless, Co=100 crashed, as well as Co=50. At Co=30, the results were not satisfactory. So the limit (in my case, which was a simple rectangular rod in a laminar flow, for vortex shedding estimation), the limit is between Co=10 (OK) and Co=30 (KO)

aylalisa March 27, 2013 13:09

physical example
 
Hi,

most stupid question comes probably at last.

I've read the discussion more then once but I am still not clear about the usage of these different solvers.

Could anybody try to explain the advantages/disadvantages on the basis of a practical situation.

Supposed there is a duct flow (L > 5000mm, W =250mm, H = 20mm, fluid = water, point of origin is located in the center of the duct) with...

a) small Reynoldsnumber (100 - 200) at inlet, no obstacle (e.g. rod or cube) in the middle of the duct,

b) small Reynoldsnumber (100 -200) at inlet, obstacle (cube with side length a=20mm) positioned in the center of the duct,

c) high Reynoldsnumber (> 3000) at inlet, no obstacle located in the duct,

d) high Reynoldsnumber (> 3000) at inlet, obstacle (cube a=20mm) positioned in the center of the duct.

For what case would you use which solver and why?
You could also change the physical setting of one of the cases if that helps to show the advantage of a specific solver.


Thanks a lot in advance!

Aylalisa

akidess March 28, 2013 02:59

If there is no motion of the obstacle, then it doesn't influence your choice of solver. I believe you can use pimpleFoam for all cases. You might be able to use even larger timesteps (thus saving some computational time) by using simpleFoam for the high Reynolds cases.

aylalisa April 3, 2013 11:03

modify the situation
 
What kind of flow phenomenon makes you use pisoFoam and icoFoam respectively?

Djub April 3, 2013 11:26

icoFoam is laminar, whereas pisoFoam can deal with turbulence.

Lieven April 3, 2013 16:07

... so it is (should be) based on the Reynolds number of the flow.

akidess April 4, 2013 02:35

There is no real reason to use icoFoam, consider it deprecated. All the other solvers should support turbulenceModel laminar, so even for low Reynolds numbers you can use those instead.

kkpal May 17, 2013 12:08

I used both pimpleFoam and icoFoam to solve the flow around circular cylinder at Re=100 in 2D.

According to my simulations icoFoam gives better results in terms of Str number, which is 0.164 but in pimpleFoam it is 0.144. Both Foam gives the same good drag coefficients.

for future research I need to much higher Re simulations so icoFoam can not be used. But according to the poor performance of pimpleFoam at Re=100, I'm not sure at higher Re pimpleFoam would yield accurate result.

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
later I found out that I added relaxatin factor, which is the very cause for loosing accuracy in strouhal number , in pimpleFoam, Since I deleted the relaxation part good results are now obtained.

mali January 7, 2014 03:41

Hi kkpal,

Thanks for your info, it really a good point. However, if I use icoFOAM for high Reynolds number, but with the turbulence off, i.e. DNS, do you think I'll get the same results if I use pimpleFoam with the same setting.

Thanks.

Bernhard January 7, 2014 04:54

Quote:

Originally Posted by mali (Post 468938)
Thanks for your info, it really a good point. However, if I use icoFOAM for high Reynolds number, but with the turbulence off, i.e. DNS, do you think I'll get the same results if I use pimpleFoam with the same setting.

Yes, that should give you the same results.

wzx1989221 January 17, 2014 11:46

Hi Julien,

I saw your post and just want to ask whether icoFoam is able for turbulent flow or not?

In terms of DNS, both laminar and turbulent flow solve the same equation, given that I have very fine mesh and reasonable Reynolds number, can I get turbulent flow?

Thanks and regards,
Tony

mali January 27, 2014 22:35

Hi Tony,

As mentioned by Bernhard, you should able to get the turbulent flow if the Reynolds number is in the turbulent region.

wzx1989221 January 28, 2014 05:13

Hi mali,

Thank you very much for replying. I am trying that but I just wonder whether anyone succeeded before since I don't want to spent so much time on something unrealistic.

Regards,
Tony

aylalisa January 29, 2014 15:53

transient region
 
Hi,


if it is possible to use icoFoam for a turbulent flow (DNS, fine mesh, turbulence off, high Re-number) does this mean I can investigate transition flow from laminar to turbulent as well?

Which strategy is the best to investigate transient flow, for the case that I start with a laminar flow regime (Re~200) that changes to turbulent flow due to an applied heat flow, and finally the resulting turbulent flow?

without heat transfer
LES: icoFoam + filtering + Subgrid-Scale model
or
DNS: icoFoam (very fine mesh)

with heat transfer
LES: buoyantBoussinesqPimpleFoam + filtering + Subgrid-Scale model
or
DNS: buoyantBoussinesqPimpleFoam (very fine mesh)

?


Aylalisa

mgg June 13, 2014 09:20

Quote:

Originally Posted by aylalisa (Post 472408)
Hi,


if it is possible to use icoFoam for a turbulent flow (DNS, fine mesh, turbulence off, high Re-number) does this mean I can investigate transition flow from laminar to turbulent as well?

Which strategy is the best to investigate transient flow, for the case that I start with a laminar flow regime (Re~200) that changes to turbulent flow due to an applied heat flow, and finally the resulting turbulent flow?

without heat transfer
LES: icoFoam + filtering + Subgrid-Scale model
or
DNS: icoFoam (very fine mesh)

with heat transfer
LES: buoyantBoussinesqPimpleFoam + filtering + Subgrid-Scale model
or
DNS: buoyantBoussinesqPimpleFoam (very fine mesh)

?


Aylalisa

for DNS w/o heat transfer, I use pimpleFoam, because it can add source term with fvoption. For DNS with heat transfer, I use buoyantPimpleFoam, because the density in my case is variable.

stephie August 4, 2015 05:07

Hello everyone,

at the moment I am working with pimpleFoam, too. I have an airfoil in a channel with turbulent flow. Here I use the pimple Algorihm as Simple with relaxation Factors, adjustTimeStep no and Co > 1 (implizit).
Might anyone of you explain me the connection between adjusttimestep and the relaxation factors? When do I use both togehter oder just one of it. At the moment I am a little bit confused about it.

The next step is an oszillating velocity, so the case became transient. Do I have to change the pimple Algorithm tp piso or can I leave it in simple?

Thank you for any reply :)

best regards,
Stephie

owayz August 5, 2015 20:14

Quote:

Originally Posted by stephie (Post 558274)
Hello everyone,

at the moment I am working with pimpleFoam, too. I have an airfoil in a channel with turbulent flow. Here I use the pimple Algorihm as Simple with relaxation Factors, adjustTimeStep no and Co > 1 (implizit).
Might anyone of you explain me the connection between adjusttimestep and the relaxation factors? When do I use both togehter oder just one of it. At the moment I am a little bit confused about it.

The next step is an oszillating velocity, so the case became transient. Do I have to change the pimple Algorithm tp piso or can I leave it in simple?

Thank you for any reply :)

best regards,
Stephie

Hi Stephie,
adjustTimeStep switch could be used to adjust the time step size by the solver, if you want to limit the CFL number below some specific value. The solver will decrease the time step size if the CFL number is higher than a specified value.
Relaxation factors help in convergence, so if you have can achieve convergence of the problem the relaxation factors don't make much difference. If the solution diverges you can try lowering the relaxation factors.
Relaxation factors and adjustTimestep don't have any connection. You can use both of them if you want for their intended purposes.
Yes in case of transient simulation you will have to use pimple or piso algorithm. The simple algorithm can only used for steady or quasi - steady simulations.

stephie August 18, 2015 06:16

Hey,

thank you for your answer. It was very helpful.
I know it was still discussed, but I am really confused about the pimple alogrithm. Might you explain it again?
I know pimple is a combination of simple and piso. For using piso I need a CO<1, by simple it can be higher.
When i want to implement pimple as simple wich number of nCoorectors and nOuterCorrectors do I have to use?
I read http://openfoamwiki.net/index.php/Op...hm_in_OpenFOAM, but for me it isn't easy to understand.
I thought for simple the number of nOuterCorrectors have to be > 1. But when I read the text, I understand the nCorrector is important and this number should be over 1.
It would be very nice if you might explain it again.

Thank you so much and best regards,
Stephie

Berati26 September 24, 2015 12:07

To Simulate an Turbulent flow inside an Pool, what u think is the best Solver that i can use?

Thanks
Berati

linyanx October 13, 2016 16:09

Quote:

Originally Posted by Berati26 (Post 565445)
To Simulate an Turbulent flow inside an Pool, what u think is the best Solver that i can use?

Thanks
Berati

I would recommend the pisoFoam RAS with fine grids.
Because I currently working on one project to simulate the cavity flow. pisoFoam can solve both for laminar and turbulence. It was convenient to choose pisoFoam.

Regards,
Linyan

LEKIMQUY October 26, 2016 08:25

Hi everyone,

Can anyone explain for me what is the different between icoFoam and NonNewtonianIcoFoam?

When I apply heat in the topWall, I see the different; however, when I apply heat for a region by setFields, I saw no different.

Thank you.

Ladan1992 November 27, 2016 10:43

pimpleFoam or pisoFoam?
 
hi
I want to model natural convection in a tall enclosure by openFoam. notice that there is a bodyForce in momentom equation... first I tried to use pimpleFoam but my problem didnt converged! and when I used momentum predictor it was diverged!!
now I wanna use pisoFoam! is it right to do it?!
I have added T equation to pisoFoam by using pimpleFoam. now I wanna modify pressure equatio, I dont know how to do it! :( would you please help me?!

minzhang July 6, 2017 10:47

Quote:

Originally Posted by florian_krause (Post 246477)
Hello,

simpleFoam is a steady-state solver, as ata already mentioned.....

Thus, No you cannot use simpleFoam for LES. Use pisoFoam instead!

Best,
Florian

simpleFoam is a steady-state solver with turbulence modeling, so it means it can couple with turbulence modeling, yes?

Bazinga July 7, 2017 01:09

Quote:

Originally Posted by minzhang (Post 656051)
simpleFoam is a steady-state solver with turbulence modeling, so it means it can couple with turbulence modeling, yes?

You can use turbulence models with simpleFoam, yes.

Sent from my SM-G900F using CFD Online Forum mobile app

redbullah February 14, 2018 04:44

pisoFoam and pimpleFoam are explained in the documentation very similarly. Quoting from openfoam.com;
https://www.openfoam.com/documentati...soFoam_8C.html
https://www.openfoam.com/documentati...leFoam_8C.html
The only difference is the momentum source term is missing in pisoFoam documentatin. So does that mean that I can't add a momentum source term in pisoFoam unlike pimpleFoam?


All times are GMT -4. The time now is 08:22.