<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><br class=""><div>    Composed preconditioners (like field split) have multiple moving parts and you need to "tune" them for each part separately; you cannot just run the entire preconditioner, get slow convergence on the entire problem and then give up. </div><div><br class=""></div><div>     So step one is to get a good preconditioner for the A00 block, and not worry about the entire fieldsplit yet (once you get good convergence on the A00 block you can tune the Schur complement preconditioner but without good convergence on the A00 block it makes no sense to try to tune the Schur complement preconditioner). </div><div><br class=""></div><div>You can run with options to monitor convergence of the A00 block and try to tune for that -fieldplit_0_ksp_monitor_true residual  -fieldsplit_0_ksp_view -fieldsplit_0_pc_type gamg and control GAMG options with -fieldsplit_0_pc_gamg_* </div><div><br class=""></div><div>     As Mark said, you first need to provide the coordinate and null space information for the A00 block to have any hope of good performance</div><div><br class=""></div><div>     <br class=""><blockquote type="cite" class=""><div class="">On Sep 27, 2022, at 1:45 AM, 晓峰 何 <<a href="mailto:tlanyan@hotmail.com" class="">tlanyan@hotmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class="">

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" class="">

<div style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">
Hi Barry,
<div class=""><br class="">
</div>
<div class="">A00 is formed from elliptic operator. </div>
<div class=""><br class="">
</div>
<div class="">I tried GAMG with A00, but it was extremely slow to solve the system with field-split preconditioner(I’m not sure I did it with the right way).</div>
<div class=""><br class="">
</div>
<div class="">Thanks,</div>
<div class="">Xiaofeng</div>
<div class="">
<div class=""><br class="">
<blockquote type="cite" class="">
<div class="">On Sep 26, 2022, at 23:11, Barry Smith <<a href="mailto:bsmith@petsc.dev" class="">bsmith@petsc.dev</a>> wrote:</div>
<br class="Apple-interchange-newline">
<div class="">
<div style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">
  
<div class="">  What is your A00 operator? ILU is almost never a good choice for large scale problems. If it is an elliptic operator that using a PC of gamg may work well for the A00 preconditioner instead of ILU.</div>
<div class=""><br class="">
</div>
<div class="">  Barry</div>
<div class=""><br class="">
</div>
<div class="">  For moderate size problems you can use a PC type LU for AOO to help you understand the best preconditioner to use for the A11 (the Schur complement block), once you have a good preconditioner for the A11 block you would then go back and determine
 a good preconditioner for the A00 block.<br class="">
<div class=""><br class="">
<blockquote type="cite" class="">
<div class="">On Sep 26, 2022, at 10:08 AM, 晓峰 何 <<a href="mailto:tlanyan@hotmail.com" class="">tlanyan@hotmail.com</a>> wrote:</div>
<br class="Apple-interchange-newline">
<div class="">
<div style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">
Hello Jed,
<div class=""><br class="">
</div>
<div class="">The saddle point is due to Lagrange multipliers, thus the size of A11 is much smaller than A00.</div>
<div class=""><br class="">
</div>
<div class=""><br class="">
</div>
<div class=""><br class="">
</div>
<div class="">Best Regards,</div>
<div class=""><br class="">
</div>
<div class="">Xiaofeng</div>
<div class=""><br class="">
<div class=""><br class="">
<blockquote type="cite" class="">
<div class="">On Sep 26, 2022, at 21:03, Jed Brown <<a href="mailto:jed@jedbrown.org" class="">jed@jedbrown.org</a>> wrote:</div>
<br class="Apple-interchange-newline">
<div class=""><span style="caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: none; float: none; display: inline !important;" class="">Lagrange
 multipliers</span></div>
</blockquote>
</div>
<br class="">
</div>
</div>
</div>
</blockquote>
</div>
<br class="">
</div>
</div>
</div>
</blockquote>
</div>
<br class="">
</div>
</div>

</div></blockquote></div><br class=""></body></html>