-
All about the PIMPLE algorithm - Part II
Great one Tobi;
I could really see what PIMPLE is doing at last.
I tried the pitzDaily and though the initial parts work as mentioned, when i use the relaxationFactor for 'p' i get the following error:
--> FOAM FATAL ERROR:
previous iteration field
IOobject: volScalarField p "/home/---/OpenFOAM/***-2.3.1/run/tutorials/incompressible/pimpleFoam/pitzDaily/0"
not stored. Use field.storePrevIter() at start of iteration.
Though i use the p.storePrevIter() function call before the pEqn.H file.
On searching for over, I came to know that it was a bug in older versions and corrected from 2.0.X. Though i use 2.3.X is still have this error.
Any ideas;
Thanks once again;
SaideepPosted August 18, 2015 at 05:44 by Saideep -
divDevRhoReff and divDevReff
Thank you very much sir. You've answered the question that confused me so many times.Thanks againPosted August 2, 2015 at 09:23 by Souresh -
All about the PIMPLE algorithm - Part II
Hi,
"I created a bug report yesterday asking about this and Henry told me that pressure relaxation is only beneficial for large timesteps with Co >> 1. sonicFoam only supports smaller time steps for which pressure relaxation is not needed and slows convergence."
That is clear. If you check this blog you see that the underrelaxation only is used to get higher Co numbers. If the Co is very small due to your timestep, the timestep itself is the limiting function.
To your case, I will have a look at it.Posted June 23, 2015 at 03:23 by Tobi -
All about the PIMPLE algorithm - Part II
I created a bug report yesterday asking about this and Henry told me that pressure relaxation is only beneficial for large timesteps with Co >> 1. sonicFoam only supports smaller time steps for which pressure relaxation is not needed and slows convergence.
However, I'm having a different issue with sonicFoam/relaxation factors. In my own case I see a dependence of the maximum field values on the relaxation factors, even though the solution is converged. I'm using very simple boundaries and the mesh is ok according to checkMesh. I have posted an example case in this thread, would you mind taking a look?
http://www.cfd-online.com/Forums/ope...tml#post551131
This problem does not appear on the tutorial cases, so I guess there is something wrong with my case.Posted June 19, 2015 at 08:41 by chriss85 -
All about the PIMPLE algorithm - Part II
Now I get the point.
Here I can not give you information. Maybe it should be implemented and it's forgotten till now (because if you underrelax U and E, you should also be able to implement p relaxation).
Ask the developers or just implement it and make a study on a validation case and compare with and without.Posted June 18, 2015 at 07:27 by Tobi -
All about the PIMPLE algorithm - Part II
What I mean is that p.relax() is not called in the code of sonicFoam, whereas it is used in other solvers such as rhoPimpleFoam for example. In sonicFoam I see relaxation being applied to EEqn and UEqn (so directly on the matrix, not on the fields).
See https://github.com/OpenFOAM/OpenFOAM...nicFoam/pEqn.H
compared to https://github.com/OpenFOAM/OpenFOAM...pleFoam/pEqn.HPosted June 18, 2015 at 07:13 by chriss85 -
All about the PIMPLE algorithm - Part II
I checked the tutorial of sonicFoam and it seems that you can add relaxation factors. Why not? Its only a mathematical treatment of the equations. Means you limit the new value with limiters (relaxation factors) till you get to the last outer iteration. Here the relaxation factors has to be 1 to get the correct result.
Why we use relaxation factors is due to the fact, that some times its better to proceed the solution in more iterations than in one.
If you start the sonicFoam, you see the following line:
PIMPLE: Operating solver in PISO mode
That give you the information that the PIMPLE Algorithm is implemented. Therefore, it is possible to use PIMPLE and if you use PIMPLE you use underrelaxation. Otherwise it does not make sence.Posted June 18, 2015 at 06:01 by Tobi -
All about the PIMPLE algorithm - Part II
Do you happen to know why the pressure is not relaxed in sonicFoam, compared to other compressible solvers? Do you believe it could cause problems to add a pressure relaxation?Posted June 18, 2015 at 05:12 by chriss85 -
All about the PIMPLE algorithm - Part II
Hello,
they are completely different. In the solver it specify when the solver for the matrix is moving out and in residualControl its for the outer loop. Means if all residual have reached one limit. Normally relTol is set to 0.1 or 0.01 to get faster solution in matrix calculation. For the residual control for the pimple algorithm it should be set to 0 because there the total tolerance (tol) should be the goal. Maybe its only a placeholder (i never used other values for relTol than 0, because I want to abort the PIMPLE loop if I reach the tolerance of xe-y)Posted April 22, 2015 at 12:09 by Tobi -
All about the PIMPLE algorithm - Part II
I wonder too about the difference/functioning between tolerance and relTol in solver and residualControl.Posted April 22, 2015 at 11:20 by ASo -
All about the PIMPLE algorithm - Part II
Hi, I would like to clarify, how is the residualControl {} tolerance and relTol for U and p different from those specified in solver {} tolerances and relTol? Will one override another or are they totally different things?Posted March 30, 2015 at 09:38 by haze_1986 -
All about the PIMPLE algorithm - Part II
Quote:
the solution is always independent of the relaxation (:
I made three test cases that show the same results but there is also a interesting thing that I will mention. Thanks for your feedback!Posted October 23, 2014 at 09:35 by Tobi -
All about the PIMPLE algorithm - Part II
Quote:
1) I think that is also dependend on the problem you want to solve (like in SIMPLE) sometimes you need more relaxation in other cases you could increase it. Maybe you can switch this parameters during simulation. At the beginning lower and then increase it.
2) Good question. Normally after reaching the final pimple loop the relaxation factors become "1" -> ".*Final" keyword in the relaxationFactors dictionary. So there is no under-relaxation anymore and the solution is independent of the relaxation applied. But in case that you exit the pimple loop due to the fact that you reach the convergence criterion, I can not guarantee that I am right. If I compare the "InitialResiduals" the solution should be independent of the applied relaxation. I will check this.
If you agree with the hints, I will insert it to the hints.
If you can give me some feedback about the second hint, you are welcomed.
Thanks for reading and your feedback.Posted October 22, 2014 at 09:15 by Tobi -
All about the PIMPLE algorithm - Part II
Considering this post is aimed at beginners, two possible issues should be mentioned:
1) How to choose the optimum underrelaxation parameters?
2) Is your converged solution guaranteed to be independent of the relaxation applied?Posted October 22, 2014 at 08:43 by akidess