[petsc-users] Question concerning ilu and bcgs

Sun, Hui hus003 at ucsd.edu
Wed Feb 18 00:33:06 CST 2015


I have a matrix system Ax = b, A is of type MatSeqAIJ or MatMPIAIJ, depending on the number of cores.

I try to solve this problem by pc_type ilu and ksp_type bcgs, it does not converge. The options I specify are:

-pc_type hypre -pc_hypre_type pilut -pc_hypre_pilut_maxiter 1000 -pc_hypre_pilut_tol 1e-3 -ksp_type b\

cgs -ksp_rtol 1e-10 -ksp_max_it 1000 -ksp_monitor_short -ksp_converged_reason


The first a few lines of the output are:

  0 KSP Residual norm 1404.62

  1 KSP Residual norm 88.9068

  2 KSP Residual norm 64.73

  3 KSP Residual norm 71.0224

  4 KSP Residual norm 69.5044

  5 KSP Residual norm 455.458

  6 KSP Residual norm 174.876

  7 KSP Residual norm 183.031

  8 KSP Residual norm 650.675

  9 KSP Residual norm 79.2441

 10 KSP Residual norm 84.1985


This clearly indicates non-convergence. However, I output the sparse matrix A and vector b to MATLAB, and run the following command:

[L,U] = ilu(A,struct('type','ilutp','droptol',1e-3));

[ux1,fl1,rr1,it1,rv1] = bicgstab(A,b,1e-10,1000,L,U);


And it converges in MATLAB, with flag fl1=0, relative residue rr1=8.2725e-11, and iteration it1=89.5. I'm wondering how can I figure out what's wrong.


Best,

Hui
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20150218/99864d9d/attachment.html>


More information about the petsc-users mailing list