[petsc-users] external solvers

Jed Brown jed at 59A2.org
Thu Feb 25 06:10:36 CST 2010


On Thu, 25 Feb 2010 09:13:53 +0100, Umut Tabak <u.tabak at tudelft.nl> wrote:
> I was trying to use some external solvers interfaced to PETSc however I 
> am experiencing some problems in the solution process. First of all, my 
> matrices are ill-conditioned and if I do not use 
> -pc_factor_shift_nonzero or -pc_factor_shift_positive_definite, I can 
> not solve the systems, with these command line options, solution phase 
> goes fine(However I could not understand what these options are really 
> doing, adding some entries to the diagonal,

Note that shifting changes the matrix so you should always check
residuals, and wrap it in an iterative method when you are getting the
wrong solution due to the shift.

> If I try to use the same options with some external solvers by the 
> command line option, for example mumps, spooles, superlu with 
> -pc_factor_mat_solver_package mumps, I can not get the right solution. 

Is the matrix actually singular or just very ill conditioned?  See the
-mat_mumps_icntl_* options (look at the MUMPS user's manual for
details).  SuperLU has a similar option, and both have "iterative
refinement", which might help.  Finally, depending on your application,
it may be possible to reformulate your problem to have better
conditioning.

Jed


More information about the petsc-users mailing list