<div dir="auto">Thanks Barry, Your help is always much appreciated! I'll try this out asap. I have ended using baij because I have read the section "solving block matrices" and I was thinking that baij was the only way to use fieldsplit! Completely misunderstood then! <div dir="auto"><div dir="auto"><br></div><div dir="auto"> </div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Il Lun 14 Nov 2022, 20:34 Barry Smith <<a href="mailto:bsmith@petsc.dev" rel="noreferrer noreferrer" target="_blank">bsmith@petsc.dev</a>> ha scritto:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="line-break:after-white-space"><div><br></div><div>  Can you clarify what you mean? For some classes of problems, PCFIELDSPLIT can be a very efficacious preconditioner; for example when certain fields have very different mathematical structure than others. In those cases it is worth using AIJ and PCFIELDSPLIT instead of keeping BAIJ.</div><br><div><br><blockquote type="cite"><div>On Nov 14, 2022, at 2:21 PM, Edoardo alinovi <<a href="mailto:edoardo.alinovi@gmail.com" rel="noreferrer noreferrer noreferrer" target="_blank">edoardo.alinovi@gmail.com</a>> wrote:</div><br><div><div dir="auto">Hi Barry no worries!<div dir="auto"><br></div><div dir="auto">Thanks for letting me know! It is not a problem for me to use MPIAIJ, do you think field split will be a game changer?</div><div dir="auto"> <br></div><div dir="auto"><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Il Lun 14 Nov 2022, 20:13 Barry Smith <<a href="mailto:bsmith@petsc.dev" rel="noreferrer noreferrer noreferrer noreferrer noreferrer" target="_blank">bsmith@petsc.dev</a>> ha scritto:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
   Very sorry for wasting so much of your time. The PCFIELDSPLIT generally will not work with BAIJ matrices because the MatCreateSubMatrix() for BAIJ requires indexing by block in the matrix. Your code should work if you use MPIAIJ matrices.  Note you can still use MatSetValuesBlocked() with MPAIJ matrices.<br>
<br>
  Barry<br>
<br>
<br>
> On Nov 10, 2022, at 5:24 PM, Edoardo alinovi <<a href="mailto:edoardo.alinovi@gmail.com" rel="noreferrer noreferrer noreferrer noreferrer noreferrer noreferrer" target="_blank">edoardo.alinovi@gmail.com</a>> wrote:<br>
> <br>
> True, <br>
> <br>
> Maybe somebody merged it already? I have  attached my silly example. <br>
> <br>
> To compile:<br>
> mpifort -L$PETSC_DIR/$PETSC_ARCH/lib -lpetsc -fdefault-real-8 -o test test.F90 -I$PETSC_DIR/include -I$PETSC_DIR/$PETSC_ARCH/include<br>
> <br>
> Do you need the petsc code MAtt did? <br>
> <test.F90><br>
<br>
</blockquote></div>
</div></blockquote></div><br></div></blockquote></div>