I was given advice to use Suitesparse in these circumstances: * configure with --download-suitesparse * run with -pc_type lu -pc_factor_mat_solver_type umfpack
Nate On Wed, Jul 8, 2020 at 3:12 PM Mark Adams <mfad...@lbl.gov> wrote: > > > On Wed, Jul 8, 2020 at 2:43 PM Qin Lu via petsc-users < > petsc-users@mcs.anl.gov> wrote: > >> Hello, >> >> I am using the Petsc native direct solver (with KSPPREONLY and PCLU) to >> solver a small Linear equation system. The matrix has a couple of diagonal >> terms with value 0, which makes the solver fail. Then I set a very small >> value (e.g., 1e-10) at these terms and the solver works. Can this >> cause noticeable errors in the solution? >> > > Can't say. > > >> Are there any options in Petsc to make the direct solver do row/column >> pivoting so that all the diagonal terms are non-zero? >> > > I see: > > > -pc_factor_pivot_in_blocks <true,false>- allow pivoting within the small > blocks during factorization (may increase stability of factorization. > > and > > > -pc_factor_shift_type <shifttype>- Sets shift type or PETSC_DECIDE for the > default; use '-help' for a list of available types > -pc_factor_shift_amount <shiftamount>- Sets shift amount or PETSC_DECIDE > for the default > > >> >> >> Thanks for any suggestions. >> >> Regards, >> Qin >> >