View Issue Details
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0000604||OpenFOAM||[All Projects] Bug||public||2012-07-28 14:49||2012-07-30 10:17|
|Status||resolved||Resolution||no change required|
|Fixed in Version|
|Summary||0000604: pimple.turbCorr(): turbulence won't correct when outer iteration converged in a few iterations less than the specified number|
|Description||The pimple method used by most solvers of OpenFOAM-2.0.1, e.g. pimpleFoam, reactingFoam, has a step in its outer loop like this:|
Its function is to determine whether to correct turbulence at every outer iteration or only at the last iteration, because the function turbCorr() returns a value like this:
return !turbOnFinalIterOnly_ || finalIter();
However, this won't function if the outer iteration converged before the final iteration is reached. For example, we specify turbOnFinalIterOnly as true and specify an outer iteration number as 5. If the outer iteration converged within 3 iterations, both "!turbOnFinalIterOnly_" and "finalIter()" will be false and the turbulence will be not correted within this time step because pimple.loop() is sure to stop once "criteriaSatisfied".
|Steps To Reproduce||1. Prepare a converged turbulent flow simulation using e.g. pimpleFoam.|
2. specify turbOnFinalIterOnly as true and specify an large outer iteration number such as 10.
3. run it by foamJob and in the log file you will see very little information on solving turbulence, e.g. "Solving for k" during k-epsilson modeling.
|Tags||No tags attached.|
||Could you please try to reproduce this with OpenFOAM 2.1.1 or 2.1.x. since it is the latest version?|
I have just verified the behavior of pimpleFoam in OpenFOAM 2.1.x using the TJunction tutorial, and it works correctly. For the purpose of the test I set nOuterCorrector to 20, and required a convergence criterion of 1.0e-2, high on purpose, for all variables.
As you can see below, k and epsilon are solved, even if the solution converges in 3 iterations.
PIMPLE: iteration 1
DILUPBiCG: Solving for Ux, Initial residual = 0.00316427, Final residual = 1.49954e-06, No Iterations 2
DILUPBiCG: Solving for Uy, Initial residual = 0.00327658, Final residual = 1.60154e-06, No Iterations 2
DILUPBiCG: Solving for Uz, Initial residual = 0.0149168, Final residual = 0.000350191, No Iterations 1
GAMG: Solving for p, Initial residual = 0.0149693, Final residual = 0.000132282, No Iterations 4
time step continuity errors : sum local = 9.25369e-06, global = -1.89273e-06, cumulative = 0.000338456
GAMG: Solving for p, Initial residual = 0.0103122, Final residual = 8.93249e-05, No Iterations 4
time step continuity errors : sum local = 6.24946e-06, global = -1.29489e-06, cumulative = 0.000337161
PIMPLE: iteration 2
DILUPBiCG: Solving for Ux, Initial residual = 0.00227282, Final residual = 1.21694e-06, No Iterations 2
DILUPBiCG: Solving for Uy, Initial residual = 0.00230468, Final residual = 1.46212e-06, No Iterations 2
DILUPBiCG: Solving for Uz, Initial residual = 0.00969703, Final residual = 0.000171532, No Iterations 1
GAMG: Solving for p, Initial residual = 0.0109956, Final residual = 9.51854e-05, No Iterations 5
time step continuity errors : sum local = 6.45981e-06, global = 2.20463e-06, cumulative = 0.000339366
GAMG: Solving for p, Initial residual = 0.00756189, Final residual = 6.21099e-05, No Iterations 5
time step continuity errors : sum local = 4.21921e-06, global = 1.45637e-06, cumulative = 0.000340822
PIMPLE: iteration 3
DILUPBiCG: Solving for Ux, Initial residual = 0.00167373, Final residual = 8.79086e-07, No Iterations 2
DILUPBiCG: Solving for Uy, Initial residual = 0.00174211, Final residual = 9.14473e-07, No Iterations 2
DILUPBiCG: Solving for Uz, Initial residual = 0.0075689, Final residual = 5.53124e-06, No Iterations 2
GAMG: Solving for p, Initial residual = 0.0118443, Final residual = 7.99277e-05, No Iterations 4
time step continuity errors : sum local = 5.48091e-06, global = 2.1269e-07, cumulative = 0.000341035
GAMG: Solving for p, Initial residual = 0.00235304, Final residual = 5.02443e-07, No Iterations 9
time step continuity errors : sum local = 3.45971e-08, global = -1.23694e-08, cumulative = 0.000341023
DILUPBiCG: Solving for epsilon, Initial residual = 0.0105702, Final residual = 3.47151e-07, No Iterations 2
DILUPBiCG: Solving for k, Initial residual = 0.0192725, Final residual = 5.3084e-07, No Iterations 2
PIMPLE: converged in 3 iterations
ExecutionTime = 5.03 s ClockTime = 5 s
I have just checked the source files of OpenFOAM 2.1.0. There are substantial modifications on the pimple algorithm. It seems the problem has been solved.
I am sorry for being too busy to check it with OpenFOAM 2.1.x.
|2012-07-30 02:02||albertop||Note Added: 0001511|
|2012-07-30 02:22||albertop||Note Added: 0001512|
|2012-07-30 02:22||albertop||Note Edited: 0001512||View Revisions|
||Note Added: 0001513|
|2012-07-30 10:17||henry||Status||new => resolved|
|2012-07-30 10:17||henry||Resolution||open => no change required|
|2012-07-30 10:17||henry||Assigned To||=> henry|