[petsc-users] how to switch ILU to its block version?

Fande Kong fd.kong at siat.ac.cn
Sun Mar 1 22:52:59 CST 2015


Thanks. I got a clue.

On Sun, Mar 1, 2015 at 9:08 PM, Barry Smith <bsmith at mcs.anl.gov> wrote:

>
> > On Mar 1, 2015, at 9:58 PM, Fande Kong <fd.kong at siat.ac.cn> wrote:
> >
> > Thanks. The fluid-structure problem has been implemented via a
> monolithic coupling method. I am using geometric multigrid method as a
> preconditioner, where on each level additive Schwarz method is used. And
> ILU(1) is used as a subdomain solver. It does work well.  I just was
> wondering if a block version of ILU can help improve the performance
> further since I have a few degrees per grid point.
>
>   How many KSP iterations is your multigrid solver requiring per linear
> solve?
>
>   I would first check the convergence rate if you use LU on each domain.
> This will give you an upper bound on the best convergence rate you can get
> with additive Schwarz preconditioner. If it is not much better than ILU(1)
> then it is not worth using a "stronger" block solver.
>
>   Barry
>
> >
> >
> >
> > On Sun, Mar 1, 2015 at 4:53 PM, Barry Smith <bsmith at mcs.anl.gov> wrote:
> >
> >   Probably you want a better preconditioner than ILU (point or point
> block) for your problem. Just blindly using ILU on a matrix arising from
> complex physics is not very efficient and is fragile.
> >
> >    You might start with the PCFIELDSPLIT where you have one "field" for
> the fluid and one for the "solid" part. Then you can use whatever
> appropriate preconditioners on each part; for example on the "solid" part
> you want to use PCGAMG (make sure you set the block size and the near null
> space for that one). The fluid part you might again use PCFIELDSPLIT on
> (yes it can be used recursively).
> >
> >    Barry
> >
> > > On Mar 1, 2015, at 5:03 PM, Fande Kong <fd.kong at siat.ac.cn> wrote:
> > >
> > > Thanks, Matt.
> > >
> > > Could bs be different from rows. I am solving a fluid-structure
> problem, which has different bs in fluid and solid parts.
> > >
> > > Fande,
> > >
> > > On Sun, Mar 1, 2015 at 3:57 PM, Matthew Knepley <knepley at gmail.com>
> wrote:
> > > On Sun, Mar 1, 2015 at 4:55 PM, Fande Kong <fd.kong at siat.ac.cn> wrote:
> > > Thanks, Barry.
> > >
> > > More questions. Is bs usually the number of unknowns associated with a
> grid point. Do I need to change MatSetValues if use a MATSEQBAIJ matrix?
> > >
> > > No, but it does enable you to use MatSetValuesBlock() if you want.
> > >
> > >    Matt
> > >
> > > Fande,
> > >
> > > On Sun, Mar 1, 2015 at 2:36 PM, Barry Smith <bsmith at mcs.anl.gov>
> wrote:
> > >
> > >   Fande,
> > >
> > >     The MATSEQBAIJ matrix automatically uses a point block ILU; with
> the block size of the matrix. So if your matrix naturally has a block size
> bs if you use the MATSEQBAIJ matrix type it will be point block ILU of
> block size bs.
> > >
> > >     We don't have a variable point block ILU in PETSc for SeqAIJ. It
> is possible to write but would be rather involved.
> > >
> > >    Barry
> > >
> > > > On Mar 1, 2015, at 1:47 PM, Fande Kong <fd.kong at siat.ac.cn> wrote:
> > > >
> > > > Hi all,
> > > >
> > > > I have a code with ILU as subdomain solver, and it works well. Now I
> want to try a block version of ILU, there are some easy ways to implement
> this?
> > > >
> > > > Fande,
> > >
> > >
> > >
> > >
> > >
> > >
> > > --
> > > What most experimenters take for granted before they begin their
> experiments is infinitely more interesting than any results to which their
> experiments lead.
> > > -- Norbert Wiener
> > >
> >
> >
> >
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20150301/ea233c1f/attachment.html>


More information about the petsc-users mailing list