|
[Sponsors] |
pimpleFoam vs simpleFoam vs pisoFoam vs icoFoam? |
|
LinkBack | Thread Tools | Search this Thread | Display Modes |
March 21, 2021, 06:56 |
|
#41 | |
Member
Tom
Join Date: Apr 2017
Posts: 50
Rep Power: 9 |
Quote:
Is there any reason someone would use piso instead of pimple? The way I understand it at least, seems like pimple is the superior code. but maybe im wrong? |
||
March 21, 2021, 07:46 |
|
#42 | |
Senior Member
Join Date: Apr 2020
Location: UK
Posts: 736
Rep Power: 14 |
Quote:
In terms of the solver algorithm, you can always make a PIMPLE solver "act in PISO mode" by setting nOuterCorrectors to 1 and nCorrectors to 2. That doesn't make PIMPLE "better", but it does make the algorithm more versatile, I suppose. In terms of solvers, you might find that the PIMPLE solvers (eg pimpleFoam) often have more features built in (eg cf pisoFoam) - eg moving mesh, etc etc. That again makes the PIMPLE based solvers more capable ... but perhaps less efficient in terms of storage, and certainly more cluttered to read. If you only want to run time-accurate, low Co# simulations (eg LES or DNS simulations), then you will want to run in PISO model, in which case pisoFoam is probably a "cleaner" solver to use than pimpleFoam. I'd argue there is still space for both. |
||
March 21, 2021, 07:54 |
|
#43 | |
Member
Tom
Join Date: Apr 2017
Posts: 50
Rep Power: 9 |
Quote:
|
||
March 21, 2021, 07:56 |
|
#44 |
Senior Member
Join Date: Apr 2020
Location: UK
Posts: 736
Rep Power: 14 |
Absolutely!
EDIT: the PIMPLE algorithm allows you to "cheat time" a little, by using large Co#'s (esp, Co > 1), which can be useful if you are not interested in time accuracy during the spin-up, but for LES work I would strongly suggest using high quality divergence and temporal schemes and keeping your Co# down to preserve temporal accuracy, otherwise you'll smear out your small scale turbulence. |
|
March 22, 2021, 09:49 |
|
#45 |
Super Moderator
Tobias Holzmann
Join Date: Oct 2010
Location: Bad Wörishofen
Posts: 2,711
Blog Entries: 6
Rep Power: 52 |
I totally agree but want to give more information (I am speaking about the Foundation version):
pimpleFoam Algorithm operations can be set to:
For nOuterCorrectors equals to 1, you operate in PISO mode. Hence, the Courant number should be less or maximum equal to one. Depending on the dynamic of your flow you need to have stricter Courant number limitations e.g., Co = 0.5. However, many people do use the PIMPLE algorithm wrong. In my book, I described how the guy works. Nevertheless, if one uses PIMPLE we can go way beyond Co = 1 such as Co = 100. Sure, again, it depend on the dynamic in your system - nevertheless, it works quite well for the incompressible guy. For the compressible solver and large velocities, one is more limited. Additionally, using PIMPLE allows one to relax the equations and fields during each PIMPLE iteration which allows to calculate very stiff systems which are heavily to handle using PISO. Note: Using PIMPLE should always include the residual control for the SIMPLE loop, and hence, the outer correctors should be set to e.g., 100 or a large number but not to a value such as 4 in order to converge the explicit parts of our system. Commonly, if one sets up everything correctly and the boundary conditions allow to converge to a unique solution, one will find that the algorithm should find the solution within the first 10 outer correctors. However, the amount of outer correctors depend on the Courant number in use, the explicit terms and their convergence and others. So it´s not a rule of thumbs. But one should keep it in mind By the way, @Tobermory, why do you think that one needs to set up PIMPLE to have PISO using
In pisoFoam one can doe more outer correctors too, to converge the explicit parts more often
__________________
Keep foaming, Tobias Holzmann |
|
March 22, 2021, 10:14 |
|
#46 |
Senior Member
Join Date: Apr 2020
Location: UK
Posts: 736
Rep Power: 14 |
Haha - good point, Tobi - and agreed. I guess I was talking about the vanilla PISO method, which was based on 2 pressure correctors.
There's nothing stopping you doing more, as you point out, if you think it helps for your case ... just keep in mind that the pressure solver is typically the most expensive part of each iteration, so for long run time transient calculations you probably want to be selective with this parameter. |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Laminar simpleFoam and inviscid simpleFoam | herenger | OpenFOAM Running, Solving & CFD | 7 | July 11, 2013 07:27 |
SimpleFoam as Newtonian laminar flow solver | titio | OpenFOAM Running, Solving & CFD | 2 | March 8, 2013 05:44 |
Density in icoFoam Densidad en icoFoam | manuel | OpenFOAM Running, Solving & CFD | 8 | September 22, 2010 05:10 |
Error running simpleFoam in parallel | skabilan | OpenFOAM Running, Solving & CFD | 2 | August 29, 2008 10:42 |
Kubuntu uses dash breaks All scripts in tutorials | platopus | OpenFOAM Bugs | 8 | April 15, 2008 08:52 |