How can I use BICGStab on a matrix with zero entries on the diagonal

Zhu Liang liangcanada at gmail.com
Sun Aug 12 21:29:55 CDT 2007


Yes, you are right, I am trying to solve Oseen equation.

I tried using preconditioner PCILU(1) which works well.
But for PCILU(0) it did not work, as well as PCBJACOBI.
I have tried to insert zero on the diagonal, but it still does not work.

In your opinion, what is the best parallel solver and preconditioner
for the Oseen equation ?

Thanks for your reply.
Liang

On 8/12/07, Barry Smith <bsmith at mcs.anl.gov> wrote:
>
>
>   It is not really the BiCGstab Krylov solver that it complaining;
> it is the default ILU or block Jacobi with ILU on the blocks that is
> complaining.
>
>   You first need to make sure you insert 0 entries on the all the diagonal
> entries that are 0. BUT given the structure of your matrix you may want
> to think about solvers that specifically handle that type of matrix.
>
>    Barry
>
> Stokes type solvers?
>
>
> On Mon, 13 Aug 2007, Zhu Liang wrote:
>
> > By the way, the block of my matrix is like :
> >
> > U ,     a
> > A^T ,   0
> >
> >
> >
> > ---------- Forwarded message ----------
> > From: Zhu Liang <liangcanada at gmail.com>
> > Date: Aug 13, 2007 5:46 AM
> > Subject: How can I use BICGStab on a matrix with zero entries on the
> > diagonal
> > To: petsc-users at mcs.anl.gov
> >
> >
> > Dear petsc-users
> >
> > When I try to solve a linear equation Ax=b with BicgStab preconditioner,
> I
> > got
> > an error "Matrix is missing diagonal number".  That is because I have
> zeros
> > on
> > the diagonal of the matrix.
> >
> > I am wondering if there is some simple method to avoid that?
> >
> > Best,
> > Liang
> >
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20070812/5d12bd3a/attachment.htm>


More information about the petsc-users mailing list