<div dir="ltr"><div><div>I see. This solver is embedded in the definition of the Schur complement <b>S</b> (i.e. MatCreateSchurComplement). I explicitly generate a Schur approximation matrix <b>S_hat</b>. Then I assign S and S_hat to a linear solver KSPSetOperators(<b>ksp_p</b>, <b>S</b>, <b>S_hat</b>). This linear solver <b>ksp_p</b> corresponds to the <b>fieldsplit_p_</b> in my understanding. And the action of S on a vector involves a solver like <b>fieldsplit_p_inner</b>. I only call the ksp_p object to solver the Schur equation, which involves multiple calls of the inner solver to invert A_00. Shall I call KSPView after that the KSPSolve of ksp_p? I hope my understanding of the action of fieldsplit_ is right.<br><br></div>Thanks!<br><br></div>John<br></div><div class="gmail_extra"><br><div class="gmail_quote">2018-03-12 11:02 GMT-07:00 Smith, Barry F. <span dir="ltr"><<a href="mailto:bsmith@mcs.anl.gov" target="_blank">bsmith@mcs.anl.gov</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
  If you call the KSPView() after you have fully constructed and used the Schur complement then it should print all the information without the PC has not been set up so information may be incomplete but it only has that information after the solve is complete.<br>
<span class="HOEnZb"><font color="#888888"><br>
   Barry<br>
</font></span><div class="HOEnZb"><div class="h5"><br>
<br>
> On Mar 12, 2018, at 12:49 PM, John <<a href="mailto:johnlucassaturday@gmail.com">johnlucassaturday@gmail.com</a>> wrote:<br>
><br>
> Hi PETSc team:<br>
><br>
> I am trying to analyze my code with which explicitly builds a Schur complement.<br>
><br>
> I tried to print the inner solver for the Schur complement by calling<br>
><br>
> MatSchurComplementGetKSP(S, &ksp_s);<br>
> KSPView(ksp_s, PETSC_VIEWER_STDOUT_WORLD);<br>
><br>
> However, the info printed on screen cannot fully display the pc info:<br>
><br>
> PC Object: (pc0_inner_) 48 MPI processes<br>
>   type: ml<br>
>   PC has not been set up so information may be incomplete<br>
>     type is MULTIPLICATIVE, levels=0 cycles=unknown<br>
>       Cycles per PCApply=0<br>
>       Using externally compute Galerkin coarse grid matrices<br>
>   linear system matrix = precond matrix:<br>
>   Mat Object: 48 MPI processes<br>
>     type: mpiaij<br>
>     rows=823875, cols=823875<br>
>     total: nonzeros=35031501, allocated nonzeros=35031501<br>
>     total number of mallocs used during MatSetValues calls =0<br>
>       using I-node (on process 0) routines: found 5615 nodes, limit used is 5<br>
><br>
><br>
> I tried to run a PETSc fieldsplit, by calling -fieldsplit_p_inner_ flag, I can get all the inner solver info on screen.<br>
><br>
> Is there a way to print the solver in the definition of the Schur complement for the A_00 matrix for my case?<br>
><br>
> Thanks!<br>
><br>
> John<br>
<br>
</div></div></blockquote></div><br></div>