# How to use PIMPLE properly?

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

January 15, 2019, 05:34
#21
Senior Member

Kevin van As
Join Date: Sep 2014
Location: TU Delft, The Netherlands
Posts: 252
Rep Power: 20
Quote:
 Originally Posted by Santiago You use the SIMPLE loops (or as you call them, outer) in an attempt to stabilize (make the simulation more robust) the run by introducing artificial viscosity via a relaxation flux. Is important to recall that some of the time schemes in OF add some sort of numerical flux in the convective term. Thus, repetitive SIMPLE iterations will add to this spurious flux. Note that This "error" is inversely proportional to delta t. In an orthogonal grid, such flux may become a 'false friend' if your Co becomes too small. So, if your grid is not bad, Why do you need more than one SIMPLE loop?
I can see how such an artificial flux may result in outer/SIMPLE iterations not converging. When the relaxation is turned off for the final timestep (here: iteration 200), the residuals do again converge, because the artificial flux is "turned off"?
What remains is the question "why use more than one iteration": That's to make sure that your system of equations are solved properly. Within one outer/SIMPLE iteration, the alpha/VOF equation would only be solved once using the old pressure and velocity fields. (Evidently, pressure and velocity are already being iterated using the inner/PISO iterations.) To correctly solve for the entire system of equations, you'd thus need to iterate, don't you?
If I combine what you said with what I think to be true, then one should use little outer/SIMPLE iterations together with no relaxation for the best result? (Unless relaxation is needed, because the mesh is poor / system is ill-posed / etc., for which the system needs stabilisation.)

 February 27, 2019, 19:03 #22 New Member   Join Date: Aug 2018 Posts: 9 Rep Power: 7 Thank you for the response Joaran. How have people learned to use PIMPLE correctly before Tobias Holzmann's publication? It's surprising to me that the usage explained by Dr. Holzmann is not a template in any of the OpenFOAM tutorials. Perhaps this is an artifact of OpenFOAM being open-source code. I have even found that it is not applicable to some of the PIMPLE-related solvers like heatTransfer/chtMultiRegionFoam (though I guess they are just outdated). I would like to better understand the context behind this correct usage (i.e., using residual controls, setting the number of outer loops to some high value). Also, are there other sources that describe strategies for configuring the settings? Many thanks for your attention. -Mimi

February 28, 2019, 06:44
#23
New Member

Joaquín Aranciaga
Join Date: Oct 2018
Posts: 21
Rep Power: 7
Quote:
 Originally Posted by mszeto715 Thank you for the response Joaran. How have people learned to use PIMPLE correctly before Tobias Holzmann's publication? It's surprising to me that the usage explained by Dr. Holzmann is not a template in any of the OpenFOAM tutorials. Perhaps this is an artifact of OpenFOAM being open-source code. I have even found that it is not applicable to some of the PIMPLE-related solvers like heatTransfer/chtMultiRegionFoam (though I guess they are just outdated). I would like to better understand the context behind this correct usage (i.e., using residual controls, setting the number of outer loops to some high value). Also, are there other sources that describe strategies for configuring the settings? Many thanks for your attention. -Mimi
Hi mszeto715,

I actually haven't found any better information about the configuration of fvSolution than Holzmann's book. I think that the best way to learn to use OpenFOAM is playing with it, making mistakes, and search in this forum and/or googling your errors to find an answer. I suppose though it'd be better to take a course, if you can afford it. And ultimately all the information is contained in the installation files, be it a comment, or a program line, so I'd recommend you try to learn how to read the files and make an effort to understand what the main lines do. For that, it's a really good idea to spend some time taking a tutorial on C++.
Sorry for not being such a help, this was just my (tiny) experience using OpenFOAM.

Joa

 January 15, 2020, 15:51 Slow simulation #24 New Member   Aditya Srivastava Join Date: Sep 2019 Posts: 1 Rep Power: 0 I am also simulting rising bubble in interfoam. The mesh is very refined as of size D/40 where D is diameter of bubble. The p_rgh is taking 1000 iteration to converge which is slowing my simulation. Kindly suggest what to do

 December 2, 2021, 09:38 #25 New Member   Join Date: Jun 2017 Posts: 14 Rep Power: 8 how to remove message?!

December 2, 2021, 09:40
#26
New Member

Join Date: Jun 2017
Posts: 14
Rep Power: 8
this helped me to reduce p_rgh iterations:

Quote:
 "rho.*" { solver PCG; preconditioner DIC; tolerance 1e-8; relTol 0; minIter 1; } p_rgh { solver PCG; preconditioner { preconditioner GAMG; tolerance 1e-08; relTol 0; nVcycles 2; smoother DICGaussSeidel; nPreSweeps 2; nPostSweeps 2; nFinestSweeps 2; cacheAgglomeration true; nCellsInCoarsestLevel 10; agglomerator faceAreaPair; mergeLevels 1; } tolerance 1e-08; relTol 0; maxIter 50; }

 Tags pimple