|
[Sponsors] |
March 2, 2015, 12:56 |
Getting iterations number of matrix solver
|
#1 |
Senior Member
Daniel Witte
Join Date: Nov 2011
Posts: 148
Rep Power: 15 |
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 |
|
March 2, 2015, 14:01 |
|
#2 |
Senior Member
|
Hi,
Solve method returns SolverPerformance object. Using this object you can learn initial residual, final residual and number of iterations. |
|
March 3, 2015, 04:14 |
|
#3 |
Senior Member
Daniel Witte
Join Date: Nov 2011
Posts: 148
Rep Power: 15 |
Thanks alexeym,
I got to that page already. In InterDymFoam the pressure equation is called like this: Code:
while (pimple.correctNonOrthogonal()) { fvScalarMatrix p_rghEqn ( fvm::laplacian(rAUf, p_rgh) == fvc::div(phiHbyA) ); p_rghEqn.solve(mesh.solver(p_rgh.select(pimple.finalInnerIter()))); ... 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 |
|
March 3, 2015, 04:52 |
|
#4 |
Senior Member
|
Hi,
You can access nIterations with something like this: Code:
const solverPerformance& sp = p_rghEqn.solve(mesh.solver(p_rgh.select(pimple.finalInnerIter()))); Info<< sp.nIterations() << endl; |
|
March 3, 2015, 09:00 |
|
#5 |
Senior Member
Daniel Witte
Join Date: Nov 2011
Posts: 148
Rep Power: 15 |
Thanks, works as a charme!
Regards Daniel |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
High Courant Number @ icoFoam | Artex85 | OpenFOAM Running, Solving & CFD | 11 | February 16, 2017 14:40 |
Compressor Simulation using rhoPimpleDyMFoam | Jetfire | OpenFOAM Running, Solving & CFD | 107 | December 9, 2014 14:38 |
Simulation seems to converge but crashes suddenly | xxxx | OpenFOAM | 16 | September 12, 2014 09:07 |
Courant-number explodes after a lon while (icoFoam) | Rody- | OpenFOAM Running, Solving & CFD | 6 | January 29, 2014 05:27 |
How to write k and epsilon before the abnormal end | xiuying | OpenFOAM Running, Solving & CFD | 8 | August 27, 2013 16:33 |