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/)
-   -   Best schemes for P1 radiation model (https://www.cfd-online.com/Forums/openfoam-solving/145290-best-schemes-p1-radiation-model.html)

chriss85 December 2, 2014 09:24

Best schemes for P1 radiation model
 
I'm having some convergence problems when solving the P1 equation:
http://latex.codecogs.com/gif.latex?...-4\pi&space;B)
With this I mean that it often reaches the maximum number of iterations without reaching the prescribed final residual, at least in the first iteration of the PIMPLE loop. In further iterations it will converge faster. I have tried to ease the final residual tolerance once by an order of magnitude and my simulation crashed after a few time steps, so I believe I need to reach at least the current residual.

This has a huge impact on my simulation time and I would like to improve the convergence behavior somehow.

I'm wondering if anyone can recommend appropriate schemes and matrix solvers for such equations?

Related: http://www.cfd-online.com/Forums/ope...e-problem.html

chriss85 December 3, 2014 05:37

Some results:
  • PCG + DIC 1e-7: DICPCG: Solving for G, Initial residual = 1, Final residual = 13.2432, No Iterations 1001, Radiation calculation took 51.02 s
  • ICCG + DIC 1e-7: DICPCG: Solving for G, Initial residual = 1, Final residual = 13.2432, No Iterations 1001, Radiation calculation took 51.73 s <-- Is this correct? output looks wrong
  • PCG + FDIC 1e-7: FDICPCG: Solving for G, Initial residual = 1, Final residual = 13.2432, No Iterations 1001, Radiation calculation took 50.27 s
  • smoothSolver + GaussSeidel 1e-7: smoothSolver: Solving for G, Initial residual = 1, Final residual = 0.490411, No Iterations 1000, Radiation calculation took 30.88 s
  • smoothSolver + SymGaussSeidel 1e-7: smoothSolver: Solving for G, Initial residual = 1, Final residual = 0.346416, No Iterations 1000, Radiation calculation took 41.23 s
  • smoothSolver + nonBlockingGaussSeidel 1e-7: smoothSolver: Solving for G, Initial residual = 1, Final residual = 0.490411, No Iterations 1000, Radiation calculation took 32.32 s
  • smoothSolver + DIC 1e-7: smoothSolver: Solving for G, Initial residual = 1, Final residual = 0.272356, No Iterations 1000, Radiation calculation took 54.23 s
  • smoothSolver + DICGaussSeidel 1e-7: smoothSolver: Solving for G, Initial residual = 1, Final residual = 0.191594, No Iterations 1000, Radiation calculation took 75.23 s
  • GAMG 1e-7: 45? Not converged after 1000 iterations, crashing later on
Any idea why the smoothSolver performs so much better? From what I know so far GAMG and DIC are most often used, so this is a bit surprising to me.

I then tried to relax the equation in all but the last iteration loop. Relaxing the equation makes it converge much much faster (on the order of 1-2 seconds instead of 30 and with only a few iterations since target residuals of 1e-7 is easily reached), however, as this is not suitable for a transient case, the final iteration mustn't be relaxed AFAIK. The final iteration then shows similar convergence behavior as above, so it doesn't look like this had any advantages. For the record, I tried 5 iterations with a relaxation factor of 0.7.

One more thing I'm going to try is a lower final residual in combination with multiple iterations, but I doubt this is going to help much as the residual isn't dropping very nice at all.

Any other suggestions?


All times are GMT -4. The time now is 04:18.