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

How to use PIMPLE properly?

Register Blogs Community New Posts Updated Threads Search

Like Tree17Likes

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   January 15, 2019, 06:34
Default
  #21
Senior Member
 
floquation's Avatar
 
Kevin van As
Join Date: Sep 2014
Location: TU Delft, The Netherlands
Posts: 252
Rep Power: 21
floquation will become famous soon enough
Quote:
Originally Posted by Santiago View Post
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.)
vonboett and Teresa Sun like this.
floquation is offline   Reply With Quote

Old   February 27, 2019, 20:03
Default
  #22
New Member
 
Join Date: Aug 2018
Posts: 9
Rep Power: 8
mszeto715 is on a distinguished road
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
vonboett likes this.
mszeto715 is offline   Reply With Quote

Old   February 28, 2019, 07:44
Default
  #23
New Member
 
Joaquín Aranciaga
Join Date: Oct 2018
Posts: 21
Rep Power: 8
joaran is on a distinguished road
Quote:
Originally Posted by mszeto715 View Post
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
joaran is offline   Reply With Quote

Old   January 15, 2020, 16:51
Default Slow simulation
  #24
New Member
 
Aditya Srivastava
Join Date: Sep 2019
Posts: 1
Rep Power: 0
tatadocomo is on a distinguished road
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
tatadocomo is offline   Reply With Quote

Old   December 2, 2021, 10:38
Default
  #25
New Member
 
Join Date: Jun 2017
Posts: 14
Rep Power: 9
Akimlav is on a distinguished road
how to remove message?!
Akimlav is offline   Reply With Quote

Old   December 2, 2021, 10:40
Default
  #26
New Member
 
Join Date: Jun 2017
Posts: 14
Rep Power: 9
Akimlav is on a distinguished road
tatadocomo,
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;
}

Akimlav is offline   Reply With Quote

Old   June 18, 2024, 06:38
Default
  #27
Senior Member
 
Albrecht vBoetticher
Join Date: Aug 2010
Location: Zürich, Swizerland
Posts: 240
Rep Power: 17
vonboett is on a distinguished road
for non-newtonian fluids I recommend in addition to use for "alpha.*" the smoothSolver with symGaussSeidel smoother and MulesCorr yes. No explanation why, just a standard i use to get good results. If the grid has some non-orthogonality I use some nNonOrthogonalCorrectors within PIMPLE, together with laplacianShemes Gauss linear limited 0.33 and ddtSchemes backward in fvSchemes...
Most instabilities I get are due to density gradients caused by different alpha values at the atmospheric boundary or at an inlet. I "survive" such moments by temporally switching from backward to Euler in such cases, combined with a local modification of alpha at these boundaries using setFields.
vonboett is offline   Reply With Quote

Old   August 12, 2024, 11:15
Exclamation
  #28
New Member
 
Harsh Anand
Join Date: May 2024
Posts: 12
Rep Power: 2
GeekCFD is on a distinguished road
Quote:
Originally Posted by Akimlav View Post
tatadocomo,
this helped me to reduce p_rgh iterations:
Hey Akimlav,
You are forcefully keeping the maximum number of iterations for p_rgh to be low (50). What was the 'final residual' after each time step for p_rgh in your case?
I want to know as I am also facing the same problem(~1000 iterations); and tried reducing the no. of iterations by assigning 'max_iter = 200', however the solution diverged. (final_residual was close to 1.)
In the end, I had to coarse the mesh which brought down the iterations to ~300 and also improved the final_residual value, but at the expense of the accuracy.

I think that using the vanLeer scheme for p_rgh can do the trick, but I have not checked it yet.
Hoping to hear from you!!

Regards,
GeekCFD
GeekCFD is offline   Reply With Quote

Reply

Tags
pimple


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
PIMPLE – the value of the final under-relaxation factor Zbynek OpenFOAM 9 December 22, 2023 06:26
pimpleDyMFoam computation randomly stops babapeti OpenFOAM Running, Solving & CFD 5 January 24, 2018 06:28
error while running modified pimple solver R_21 OpenFOAM Programming & Development 0 May 28, 2015 07:59
A question on the PIMPLE algorithm GerhardHolzinger OpenFOAM Running, Solving & CFD 4 February 13, 2015 07:49
Help for the small implementation in turbulence model shipman OpenFOAM Programming & Development 25 March 19, 2014 11:08


All times are GMT -4. The time now is 18:48.