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

Fande Kong fd.kong at siat.ac.cn
Sun Mar 1 21:58:50 CST 2015


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.



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/9f06a01b/attachment-0001.html>


More information about the petsc-users mailing list