CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums

"Residuals" in residualControl

Register Blogs Community New Posts Updated Threads Search

Rate this Entry

"Residuals" in residualControl

Posted December 4, 2016 at 18:54 by kindle

PimpleFoam hahhahhhahha

Quote:
Originally Posted by knuckles View Post
In system/fvSolution, I can specify tolerances on matrix solvers:

Code:
solvers
{
    p
    {
        solver         PGC;
        preconditioner DIC;
        tolerance      1e-08;
        relTol         0;
    }
}
My understanding is that openfoam will construct an equation of the form Ax = b, solve it in some iterative way, and will stop iterating when the residual, |Ax - b|, is less than 1e-08 (relTol = 0 so it is not a factor here).

With SIMPLE/PIMPLE, it's also possible to specify a residualControl:

Code:
PIMPLE
{
    nOuterCorrectors  50; 
    nCorrectors        3;
    nNonOrthogonalCorrectors 3; 

    residualControl
    {
        U
        {
            tolerance 1e-3;
            relTol       0;
        }
        p
        {
            tolerance 1e-2;
            relTol       0;
        }
    }
}
The code above means that the "outer" PIMPLE loops will continue until either
  • 50 (nOuterCorrectors) loops have been completed
  • The residuals of both U and p fall below the specified values
I'm unclear on which "residuals" are considered here. If they are the same variety as described above, then it seems to me that setting residualControl tolerances which are more generous than the solver tolerances should give only one pimple loop. My test cases show that this is not how this works.

I assume that the residuals being considered here quantify, in some way, how well the pressure/momentum coupling is being resolved. Does anyone know which residuals are considered here?
Posted in Solver
Views 679 Comments 0 Edit Tags Email Blog Entry
« Prev     Main     Next »
Total Comments 0

Comments

 

All times are GMT -4. The time now is 00:03.