[petsc-users] FieldSplit, multigrid and blocksize

Mark Adams mfadams at lbl.gov
Wed Dec 7 08:08:31 CST 2016


Note, for best performance with ML and GAMG you want to give it the near
kernel for the 00 block. These are the 6 "rigid body modes" or zero energy
modes. PETSc provides some tools to do that (eg,
MatNullSpaceCreateRigidBody).

On Wed, Dec 7, 2016 at 4:45 PM, Lawrence Mitchell <
lawrence.mitchell at imperial.ac.uk> wrote:

>
>
> On 07/12/16 13:43, Karin&NiKo wrote:
> > Thanks Barry.
> > I must emphasize that my unknowns are not numbered in a regular way :
> > I am using a P2-P1 finite element and the middle nodes do not carry a
> > pressure DOF. So the global numbering is somewhat like :
> > ------------------------------------------------------------
> -----------------------------------------------
> > u1x, u1y, u1z, p, u2x, u2y, u2z, p2, u3x, u3y, u3z, u4x, u4y, u4z, p4,
> > .....
> >  node 1 DOF     |  node 2 DOF       | node 3 DOF  |    node 4 DOF     |
> > ------------------------------------------------------------
> -----------------------------------------------
> >
> > So my global matrix does not have a block-size of 4. Nevertheless the
> > A00 matrix has a block size of 3!
> > Is there a way to specify that only on the A00 sub-matrix?
>
> I presume you are defining the splits by providing ISes.  You need to
> set the block size on the IS that defines the A00 block appropriately,
> then the submatrix will have it.
>
> Lawrence
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20161207/a100499f/attachment-0001.html>


More information about the petsc-users mailing list