<div dir="ltr"><div dir="ltr">On Tue, Nov 9, 2021 at 6:18 AM Nicolas Barnafi <<a href="mailto:nabw91@gmail.com">nabw91@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>
Whoops, I think the notation wasn't very good, sorry. This should
have been my previous message:<br>
<br>
Rank-0, is_0: [0 1 2] ... [633 634 635]<br>
Rank-0, is_1 [636 637 638] ... [729 730 731]<br>
Rank-1, is_0: [732 733 734] ... [1368 1369 1370]<br>
Rank-1, is_1 [1371 1372 1373] ... [1464 1465 1466]<br>
<br>
where I am printing the three first and last elements of each IS
object, so in fact the first processor has the range [0,635] (is0) +
[636,731] (is1) and the second one has [732, 1370] (is0) + [1371,
1466] (is1). This is actually the smallest (3D) problem I have
access to without changing anything, as I have hard-coded some
elements (i.e. boundary conditions). It still runs super quickly, so
it is not much of a problem to debug it as it is.<br></div></blockquote><div><br></div><div>The next step would be to verify that the operators you get in those slots are correct in parallel. I normally just print out the matrix</div><div>for a small problem. This is the only way I know to debug assembly.</div><div><br></div><div>To check the solver, you set it to an exact solver and see that it takes 1 iterate. That means using LU as the subsolver</div><div>for the first block, using the full Schur complement, and solving the Schur system with a residual tolerance of something like 1e-10.</div><div><br></div><div> Thanks,</div><div><br></div><div> Matt</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>
Thanks you,<br>
NB<br>
<blockquote type="cite">
<div dir="ltr">
<div class="gmail_quote">
<div><br>
</div>
<div>I am now completely confused. The way PCFIELDSPLIT works,
when doing Schur complements, is to take</div>
<div>in two ISes, which can be thought of as lists of vector
rows. These two ISes must partition [0, N) if N is the</div>
<div>global size of the problem. So</div>
<div><br>
</div>
<div> 1) The numbers you have above do not appear to be a
partition</div>
<div><br>
</div>
<div> 2) The problem appears to be huge. Use a problem with
2-4 to debug.</div>
<div><br>
</div>
<div> Thanks,</div>
<div><br>
</div>
<div> Matt</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> Thanks!<br>
NB<br>
<br>
<br>
</div>
</blockquote>
</div>
<br clear="all">
<div><br>
</div>
-- <br>
<div dir="ltr">
<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>
</blockquote>
<br>
</div>
</blockquote></div><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>