Getting iterations number of matrix solver
Hi,
I am trying to get the number of iterations of the matrix solver (e.g. PCG) back into the application solver, such as interFoam etc. I have looked at the code. In ldumatrix.H the iteration number is defined under solverPerformance. There are other values that I can get. If I call prghEq.residual(), I get the residual vector of the ldumatrix calculation. Is there some simple trick to get the iteration number? The iteration number of the matrix solver is printed out on screen, but this is done within a seperated routine (while the matrix solver is called). Regards, Daniel |
Hi,
Solve method returns SolverPerformance object. Using this object you can learn initial residual, final residual and number of iterations. |
Thanks alexeym,
I got to that page already. In InterDymFoam the pressure equation is called like this: Code:
while (pimple.correctNonOrthogonal()) p_rghEqn has a number of objects that can be called directly (e.g. A, residuals() etc.), but not the number of iterations. What you suggest is to change the solve call, I assume, but how? I had already the idea to add a new object to fvMatrix, but it is not that easy to get the number of iterations of the matrix solver. Regards, Daniel |
Hi,
You can access nIterations with something like this: Code:
const solverPerformance& sp = |
Thanks, works as a charme!
Regards Daniel |
All times are GMT -4. The time now is 09:03. |