How can I use BICGStab on a matrix with zero entries on the diagonal
Barry Smith
bsmith at mcs.anl.gov
Sat Aug 18 16:20:22 CDT 2007
On Thu, 16 Aug 2007, Matthew Knepley wrote:
> On 8/16/07, Barry Smith <bsmith at mcs.anl.gov> wrote:
> >
> >
> >
> > On Sun, 12 Aug 2007, Zhu Liang wrote:
> >
> > > 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 ?
> >
> > Black box? I wish I did!
> >
> > Matt, when are we going to add a "general purpose" Stokes solver to PETSc?
> > Does that question even make sense?
>
> It makes sense if we know more about the discretization and weak form. There
> are a few good ways to solve Stokes: block smoothers on an element-by-element
> basis, block triangular preconditioning by field, efficient projection onto the
> null space of B.
> These all require that we can slice up the unknowns correctly.
Please be specific here; do you mean more than just saying which values
are in the lower block and which are not?
> Once people buy into my discretization framework, which will happen shortly
> after I finish coding it, we can start to get this going. I have a
> Stokes example
> now, without any of these nifty solvers :) They will get done this fall.
>
> Matt
>
> > Barry
> >
> > >
> > > 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
> > > > >
> > > >
> > > >
> > >
> >
> >
>
>
>
More information about the petsc-users
mailing list