[petsc-users] Difference between Block Jacobi and ILU?
Barry Smith
bsmith at mcs.anl.gov
Tue Feb 23 14:13:05 CST 2016
> On Feb 23, 2016, at 2:03 PM, Justin Chang <jychang48 at gmail.com> wrote:
>
> Two more questions, somewhat related maybe.
>
> Is there a practical case where one would use plain Jacobi preconditioning over ILU?
For well conditioned problems an iteration of Jacobi is cheaper than an iteration of ILU (about 1/2 the work) so jacobi can beat ILU
For problems where ILU produces 0 (or tiny) pivots and thus produces a bad preconditioner
>
> Also, what exactly is happening when one uses -pc_bjacobi_blocks 2 ?
By default PETSc uses one block per MPI process. -pc_bjacobi_blocks 2 would produce exactly 2 blocks totally. See PCBJacobiSetTotalBlocks() and PCBJacobiSetLocalBlocks()
>
> Thanks,
> Justin
>
> On Wed, Jan 13, 2016 at 9:37 PM, Justin Chang <jychang48 at gmail.com> wrote:
> Thanks Satish,
>
> And yes I meant sequentially.
>
> On Wed, Jan 13, 2016 at 8:26 PM, Satish Balay <balay at mcs.anl.gov> wrote:
> On Wed, 13 Jan 2016, Justin Chang wrote:
>
> > Hi all,
> >
> > What exactly is the difference between these two preconditioners? When I
> > use them to solve a Galerkin finite element poisson problem, I get the
> > exact same performance (iterations, wall-clock time, etc).
>
> you mean - when you run sequentially?
>
> With block jacobi - you decide the number of blocks. The default is 1-block/proc
> i.e - for sequnetial run you have only 1block i.e the whole matrix.
>
> So the following are essentially the same:
> -pc_type bjacobi -pc_bjacobi_blocks 1 [default] -sub_pc_type ilu [default]
> -pc_type ilu
>
> Satish
>
> > Only thing is I can't seem to use ILU in parallel though.
>
>
>
More information about the petsc-users
mailing list