[petsc-users] Zero diagonal term for direct solver

Mark Adams mfadams at lbl.gov
Wed Jul 8 14:11:35 CDT 2020


On Wed, Jul 8, 2020 at 2:43 PM Qin Lu via petsc-users <
petsc-users at 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
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20200708/0ca1b558/attachment.html>


More information about the petsc-users mailing list