Bug or feature: Pimple solves pressure to final convergence on every iteration
I've switched from the 1606+ version to the latest 1712+ version. I noticed that my pimpleFoam computations take a lot more time. When I looked at the pressure iterations the last nonOrthogonal correction solves the pressure to the final convergence criterion. (See lines 7,15,23 in 1712log). The 1606 solver does not converge to the final convergence (see line 10 in 1606log). It is not the same simulation. These logs I had ready. I did do the test though.
If you would like to reproduce just take a pimple case (running in pimple mode) and see the difference between the two versions.
This is caused by a change in the pimplecontrol class. In older versions the finalInnerIter read:
inline bool Foam::pimpleControl::finalInnerIter() const { return finalIter() && corrPISO_ == nCorrPISO_ && corrNonOrtho_ == nNonOrthCorr_ + 1; }
In the 1712 version it reads:
inline bool Foam::pimpleControl::finalInnerIter() const { return corrPISO_ == nCorrPISO_ && corrNonOrtho_ == nNonOrthCorr_ + 1; }
When adding the finalIter()
I see the previous (1606) behaviour again.
I have to admit that it is a bit of a black box for me, so I don't know what it does and what's the reason behind removing this statement. It does slow down my simulations with a factor 2-3, so it might be worth changing it back.1606Log[1712Log]1606Log