[petsc-users] ILU preconditioner hangs with some zero elements on the diagonal

Gary Rebt gary.rebt at gmx.ch
Tue Oct 27 09:09:49 CDT 2015


Dear petsc-users,
 
While using the FEniCS package to Solve a simple Stokes' flow problem, I have run into problems with PETSc preconditioners. In particular, I would like to use ILU (no parallel version) along with GMRES to solve my linear system but the solver just hangs indefinitely at MatLUFactorNumeric_SeqAIJ_Inode without outputting anything. CPU usage is at 100% but even for a tiny system (59x59 for minimal test case), the solver does not seem to manage to push through it after 30 mins.
 
PETSc version is 3.6 and the matrix for the minimal test case is as follows :
http://pastebin.com/t3fvdkaS
 
It contains zero diagonal entries, has a condition number of around 1e3 but is definitely non-singular. Direct solvers manage to solve the system as well as GMRES without preconditioner (although after many iterations for a 59x59 system..).
 
Playing with the available options here http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/PC/PCILU.html[http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/PC/PCILU.html] did not seem to solve the issue (even after activating diagonal_fill and/or nonzeros_along_diagonal) although sometimes error 71 is returned which stands for zero pivot detected. Are there yet other options that I have not considered? The default ILU factorization in MATLAB returns satisfactory problems without errors so surely it must be possible with PETSc?
 
As for the choice of ILU, I agree it might be suboptimal in this setting but I do need it for benchmarking purposes.
 
Best regards,
 
Gary

PS : My mistake for the previous e-mail in HTML, you can delete it.


More information about the petsc-users mailing list