Hi,
I am trying to build a PCFIELDSPLIT preconditioner for a matrix
J = [A00 A01]
[A10 A11]
that has the following shape:
M_{user}^{-1} = [I -ksp(A00) A01] [ksp(A00) 0] [I
0]
[0 I] [0
ksp(T)] [-A10 ksp(A00) I ]
where T is a user-defined Schur complement approximation that replaces the true
Schur complement S:= A11 - A10 ksp(A00) A01.
I am trying to do something similar to this example (lines 41--45 and
116--121):
https://www.mcs.anl.gov/petsc/petsc-current/src/snes/tutorials/ex70.c.html
The problem I have is that I manage to replace S with T on a separate single
linear system but not for the linear systems generated by my time-dependent
PDE. Even if I set the preconditioner M_{user}^{-1} correctly, the T matrix
gets replaced by S in the preconditioner once I call TSSolve.
Do you have any suggestions how to fix this knowing that the matrix J does not
change over time?
Many thanks.
Best regards,
Zakariae