<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body style="overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><div dir="auto" style="overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;">The branch should now be good to go (<a href="https://gitlab.com/petsc/petsc/-/merge_requests/6841">https://gitlab.com/petsc/petsc/-/merge_requests/6841</a>).<div>Sorry, I made a mistake before, hence the error on PetscObjectQuery().</div><div>I’m not sure the code will be covered by the pipeline, but I have tested this on a Raviart—Thomas discretization with PCFIELDSPLIT.</div><div>You’ll see in the attached logs that:</div><div>1) the numerics match</div><div>2) in the SBAIJ case, PCFIELDSPLIT extract the (non-symmetric) A_{01} block from the global (symmetric) A and we get the A_{10} block cheaply by just using MatCreateHermitianTranspose(), instead of calling another time MatCreateSubMatrix()</div><div>Please let me know if you have some time to test the branch and whether it fails or succeeds on your test cases.</div><div><br></div><div>Also, I do not agree with what Hong said.</div><div>Sometimes, the assembly of a coefficient can be more expensive than the communication of the said coefficient.</div><div>So they are instances where SBAIJ would be more efficient than AIJ even if it would require more communication, it is not a black and white picture.</div><div><br></div><div>Thanks,</div><div>Pierre<br><div><br></div><div></div></div></div></body></html>