<div dir="ltr"><div dir="ltr">On Sun, Feb 5, 2023 at 3:56 PM Edoardo alinovi <<a href="mailto:edoardo.alinovi@gmail.com">edoardo.alinovi@gmail.com</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Maybe I managed to find out the number of iters of the field split by adding: fieldsplit_u_ksp_converged_reason. </div></blockquote><div><br></div><div>You also want -fieldsplit_p_ksp_converged_reason so we can see the iterates for the Schur complement.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>This gets printed 268 times:<div> Linear UPeqn_fieldsplit_u_ solve converged due to CONVERGED_ITS iterations 1</div></div></div></blockquote><div><br></div><div>This is a little strange for BJacobi/ILU(0). Wait, you are using preonly, so it can only take 1 iterate no matter</div><div>how bad the solve is. Is that what you want? Usually for good convergence, you need accurate solves of the</div><div>A00 system.</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><div><div><div>1. You are using A11 as the preconditioning matrix for the Schur complement. Do you expect this to be a good idea?</div><div>Good question, I have also tried self and selfp but not much difference! Any suggestions?</div></div></div></div></div></blockquote><div><br></div><div>It depends on what your Schur complement operator looks like. Usually you are much better off assembling</div><div>an approximation to it. For example, the Schur complement for the Stokes equation is spectrally equivalent to</div><div>the mass matrix, and this makes a good preconditioning matrix.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><div><div><div>2. You are using BJacobi/ILU(0) for A00. Is this a good idea?</div></div><div>I have tried other options like hypre and ML but this one looks the best for now, do you have other suggestions?</div></div></div></div>
</blockquote></div><div><br></div>It could be, but using preonly seems dangerous. I would first use GMRES and see how many iterates are used.<div><br></div><div> Thanks,</div><div><br></div><div> Matt<br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div>What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>-- Norbert Wiener</div><div><br></div><div><a href="http://www.cse.buffalo.edu/~knepley/" target="_blank">https://www.cse.buffalo.edu/~knepley/</a><br></div></div></div></div></div></div></div></div></div>