<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<div id="divtagdefaultwrapper" dir="ltr" style="font-size: 12pt; color: rgb(0, 0, 0); font-family: Calibri, Helvetica, sans-serif, Helvetica, EmojiFont, "Apple Color Emoji", "Segoe UI Emoji", NotoColorEmoji, "Segoe UI Symbol", "Android Emoji", EmojiSymbols;">
<p>Hi,</p>
<p><br>
</p>
<p>I am trying to build a PCFIELDSPLIT preconditioner for a matrix </p>
<p>J = [A00 A01]</p>
<p> [A10 A11] </p>
<p>that has the following shape: </p>
<p><br>
</p>
<p>M_{user}^{-1} = [I -ksp(A00) A01] [ksp(A00) 0] [I 0]</p>
<p> [0 I] [0 ksp(T)] [-A10 ksp(A00) I ]<br>
</p>
<p><br>
</p>
<p>where T is a user-defined Schur complement approximation that replaces the true Schur complement S:= A11 - A10 ksp(A00) A01.</p>
<p><br>
</p>
<p>I am trying to do something similar to this example (lines 41--45 and 116--121): <a href="https://www.mcs.anl.gov/petsc/petsc-current/src/snes/tutorials/ex70.c.html" class="OWAAutoLink" id="LPlnk826214" previewremoved="true">https://www.mcs.anl.gov/petsc/petsc-current/src/snes/tutorials/ex70.c.html</a></p>
<p><br>
</p>
<p>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 <span style="font-size: 12pt;">M_{user}^{-1} correctly, the T matrix
gets replaced by S in the preconditioner once I call TSSolve. </span></p>
<p><span style="font-size: 12pt;">Do you have any suggestions how to fix this knowing that the matrix J does not change over time?</span></p>
<p><span style="font-size: 12pt;">Many thanks.</span></p>
<p><span style="font-size: 12pt;"><br>
</span></p>
<p><span style="font-size: 12pt;">Best regards,</span></p>
<p><span style="font-size: 12pt;"><br>
</span></p>
<p><span style="font-size: 12pt;">Zakariae </span></p>
<p><span style="font-size:12pt"></span></p>
</div>
</body>
</html>