Block-smoothers with variable block size
Nicolas Tardieu
niko.karin at gmail.com
Thu Mar 20 13:52:01 CDT 2008
Dear Barry,
Thank you very much for your quick answer.
I am searching for MatRelax_Inode in PETSc src directory using grep.
But I just can't find it! Please note I am using 2.3.3p6
Could you please tell me where this routine is?
Nicoals
2008/3/20, Barry Smith <bsmith at mcs.anl.gov>:
>
>
> Nicolas,
>
> Actually we are very close to this. Check out the routine
> MatRelax_Inode() which is for AIJ matrices.
> For the block size it uses the inode size. If your matrix has inodes
> that match the blocks you want
> then everything is there already just use the PCSOR.
>
> If you do not have inodes then you can mimic the MatRelax_Inode()
> code to make a new
> routine MatPBRelax_SeqAIJ(). If you do implement this we'd love to add
> it to PETSc.
>
>
> Please let us know if you have additional questions.
>
>
> Barry
>
>
>
>
> On Mar 20, 2008, at 1:07 PM, Nicolas Tardieu wrote:
>
> > Dear PETSc experts,
> >
> > I am currently designing a multigrid PC that needs to operate on
> > variable block size matrices. I know PETSc does not support this
> > feature.
> > So, I will do it "by hand". Neverthless I would like to be able to
> > use some smoothers like Jacobi or SOR in their block version.
> >
> > What is the best solution that would work both in sequential and
> > parallel?
> >
> > - define some MATSHELL that handle variable block size
> > -> will I be able to use in some way a block Jacobi or SOR?
> > -> would it be possible to use CSR inside the MATSHELL and
> > manage the variable blocks.
> >
> > - use a AIJ matrix and manage the blocks using some indirection
> > mechanism and reprogram Jacobi or SOR
> >
> >
> >
> > Thank you,
> >
> > Nicolas
> >
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20080320/09f01b58/attachment.htm>
More information about the petsc-users
mailing list