<div dir="ltr">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).</div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Dec 7, 2016 at 4:45 PM, Lawrence Mitchell <span dir="ltr"><<a href="mailto:lawrence.mitchell@imperial.ac.uk" target="_blank">lawrence.mitchell@imperial.ac.uk</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class=""><br>
<br>
On 07/12/16 13:43, Karin&NiKo wrote:<br>
> Thanks Barry.<br>
> I must emphasize that my unknowns are not numbered in a regular way :<br>
> I am using a P2-P1 finite element and the middle nodes do not carry a<br>
> pressure DOF. So the global numbering is somewhat like :<br>
> ------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------<br>
> u1x, u1y, u1z, p, u2x, u2y, u2z, p2, u3x, u3y, u3z, u4x, u4y, u4z, p4,<br>
> .....<br>
>  node 1 DOF     |  node 2 DOF       | node 3 DOF  |    node 4 DOF     |<br>
> ------------------------------<wbr>------------------------------<wbr>------------------------------<wbr>-----------------<br>
><br>
> So my global matrix does not have a block-size of 4. Nevertheless the<br>
> A00 matrix has a block size of 3!<br>
> Is there a way to specify that only on the A00 sub-matrix?<br>
<br>
</span>I presume you are defining the splits by providing ISes.  You need to<br>
set the block size on the IS that defines the A00 block appropriately,<br>
then the submatrix will have it.<br>
<span class="HOEnZb"><font color="#888888"><br>
Lawrence<br>
<br>
</font></span></blockquote></div><br></div>