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 >