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/)
-   -   PIMPLE minimum iterations (https://www.cfd-online.com/Forums/openfoam-solving/194971-pimple-minimum-iterations.html)

MSF October 28, 2017 12:07

PIMPLE minimum iterations
 
Hello,

is there a possibility to specify a minimum number of iterations for the PIMPLE Loop? E.g. I want the loop to be executed at leat 4 times every time step.

Best,

Moritz

matejfor October 31, 2017 15:36

By default we do not set the min and max # of the PIMPLE loops. You set a number of loops to execute. period, end of story. try it yourself.

BuzzB April 9, 2019 09:56

Dear Moritz,


did you find a solution to this? I also need a minimum PIMPLE iteration, since the solution is controled via residual-control, but it is not possible for on of the fields that are self-implemented. Therefore I would like to force a mimimum iteration quantity.


Best, Sebastian

cryabroad April 10, 2019 04:21

Why do you need a minimum number of iterations to be specified? If the solution converges, say in 3 iterations, that's great news isn't it? More importantly, let's say there's a way to set the minimum number of iterations during a single time step, how can you make sure that the number you are using is reasonable?

For self-implemented variables (and suppose you are solving some kind of equations to calculate them) you can also set the residual criteria, just like how you set the criteria for other standard variables (p, U, etc.), through relTol and tolerance.

BuzzB April 10, 2019 04:34

Thanks for your answer Ruiyan

Quote:

Originally Posted by cryabroad (Post 730361)
Why do you need a minimum number of iterations to be specified? If the solution converges, say in 3 iterations, that's great news isn't it?

I need it, because for the first few timesteps, the solution needs more PIMPLE iterations to converge, say 50.

All the other time steps converge within 2-5 PIMPLE iterations, expecially, if I increase the corrector (nCorrector and/or nNonOrthogonalCorrectors) steps. Except one field, the self implemented on, which would need, say, 10 PIMPLE iterations. So I would like to set the number of PIMPLE iterations to 10-50.


Quote:

Originally Posted by cryabroad (Post 730361)
More importantly, let's say there's a way to set the minimum number of iterations during a single time step, how can you make sure that the number you are using is reasonable?

Via trial and error!

Quote:

Originally Posted by cryabroad (Post 730361)
For self-implemented variables (and suppose you are solving some kind of equations to calculate them) you can also set the residual criteria, just like how you set the criteria for other standard variables (p, U, etc.), through relTol and tolerance.

Sure, but this is only for the inner iteration of the specific equation solver. This diverges in some cases within one PIMPLE step but converges, if more PIMPLE steps are calculated.

cryabroad April 10, 2019 08:16

I'm confused, as it sounds like you can just set a very strict convergence criterion for the self-implemented variable (as low as you want, like relTol to 1e-08 and tolerance to 1e-18 maybe) and the number of MAX PIMPLE iterations, and you are good to go.

You can set different convergence criterion for each of the variables you are using, and you set these when specifying the individual linear solvers (which you will do, of course) and in residualControl in the PIMPLE entry (where you set nCorrectors and nOuterCorrectors). So in your log file you will see things like "solving Ux, ..." but also "solving for name of your own variable, ...". If you set the convergence criterion strict enough for your self-implemented variable, the PIMPLE calculation goes on even if other variables have converged.

I'm not sure if I get your questions right or not, please clarify.


All times are GMT -4. The time now is 05:23.