View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0003336||OpenFOAM||Feature||public||2019-08-23 11:45||2019-08-27 14:07|
|Fixed in Version||dev|
|Summary||0003336: Purpose of residualControl in the pimple loop|
|Description||I am wondering what is the purpose of residualControl keyword in the PIMPLE loop?|
I think outerCorrectorResidualControl should be the only one to specify, as residualControl does not have any influence.
Also, it might be helpful to add the option for a minimum number of iterations even if the tolerances are reached, just an idea.
Also, I would like to highlight a small typo, in the header of the file
Provides controls for the pressure reference IN closed-volume
Provides controls for the pressure reference IS closed-volume
|Tags||No tags attached.|
||Yes, but even setting residualControl to a large value does not have any effect in the convergence control in the PIMPLE loop|
Please give me an example which reproduces the issue
https://bugs.openfoam.org/rules.php "An issue report therefore must include the following: A clear set of instructions that reproduces the issue, including key files, if required"
Run the case using pimpleFoam.
The case should stop almost immediately but it keeps iterating until the end time. For this case it seems that residualControl has no effect at all on the convergence control.
On the other hand, outerCorrectorResidualControl works as it should be.
cavity_single.tar.gz (3,984 bytes)
OK. pimpleFoam hasn't been updated to use the time-loop residual controls. I think the only solver that has is chtMultiRegionFoam. If I recall correctly, the inclusion of these controls into PIMPLE was designed to facilitate making PIMPLE offer the same functionality as SIMPLE so that extremely complex solvers could be combined. I guess only the solvers that actually were combined were considered necessary to update.
The change could be propagated to all PIMPLE solvers if need be; it's just a one-liner. It begs the question, though, why do you want to do simulation-level residual control on a pimpleFoam case, and why are you not running simpleFoam?
I was porting a case from another version and I realized that the dictionaries changed, so I started to read the convergenceControl options.
For me it also does not make sense to have residualControl in the pimple loop. In any-case, it can be helpful as a monitor to determine if the solver has reached an steady state (but it is better to monitor an integral quantity).
Then, thinking about this, it might be helpful to add a control for the minimum number of iterations in outerCorrectorResidualControl, I know it might be redundant, but sometimes I use it (hardwired in the solver though).
Ok, well, for consistency's sake, I think it's reasonable to say that residual controls should function the same way in all PIMPLE solvers, regardless of whether there is a SIMPLE variant or not. I have made this the case with the following commit.
The case you uploaded now exits as expected when the residuals reduce to the specified tolerance, so I consider this bug to have been resolved.
As for the issue of a minimum number of iterations in the corrector residual controls. Such a change is perfectly possible, though there are some questions regarding syntax and which iteration loops it applies to. If you are able to support such a change, either by means of funding its development or by contributing the code yourself, then please open a feature request.
|2019-08-23 11:45||joegi||New Issue|
|2019-08-23 14:06||will||Note Added: 0010690|
|2019-08-23 14:21||joegi||Note Added: 0010691|
|2019-08-23 14:37||will||Note Added: 0010692|
|2019-08-23 15:05||joegi||File Added: cavity_single.tar.gz|
|2019-08-23 15:05||joegi||Note Added: 0010693|
|2019-08-23 15:21||will||Note Added: 0010694|
|2019-08-23 15:24||will||Note Edited: 0010692||View Revisions|
|2019-08-23 15:51||joegi||Note Added: 0010695|
|2019-08-27 14:07||will||Assigned To||=> will|
|2019-08-27 14:07||will||Status||new => resolved|
|2019-08-27 14:07||will||Resolution||open => fixed|
|2019-08-27 14:07||will||Fixed in Version||=> dev|
|2019-08-27 14:07||will||Note Added: 0010703|