Hi Matt,

So I have done some research these days and I have found out that I might
try to assemble the SIMPLE for Schur approximation (myS = A11 - A10
inv(DIAGFORM(A00)) A01).

Reading papers around, I come up with a doubt, which I believe to be a very
silly one but worth asking...

Is the way the unknowns are packed in the matrix relevant for schur
preconditioning?

I was studying a bit ex70.c, there the block matrix is defined like:

A = [A00 A10
       A10  A11]
Where A00 is the momentum equation matrix, A11 is the pressure equation
matrix, while A01 and A10 are the matrices for the coupling terms (i.e.
pressure gradient and continuity). The unknowns are x = [u1..uN v1...vN
w1...wN p1...pN]^T

In my case, I assemble the matrix cell by cell (FV method), and the result
will be this one:

[image: image.png]

Then I split the fields giving index 0-1 for u and 2 for p. I guess Petsc
is already doing the correct handling picking up the *a^33s* to assemble
A11, but worth being 100% sure :)

Thank you!

Reply via email to