On Thu, Dec 10, 2009 at 3:03 PM, Jed Brown <span dir="ltr"><<a href="mailto:jed@59a2.org">jed@59a2.org</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Can KSPView before KSPSolve reasonably be made to work?<br></blockquote><div><br>What breaks? If you mean that it is not broken, but information is different than it<br>is after KSPSetUp(), I would say no.<br><br>  matt<br>
 </div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">---------- Forwarded message ----------<br>From: francois pacull <<a href="mailto:fpacull@fluorem.com">fpacull@fluorem.com</a>><br>
To: Jed Brown <<a href="mailto:jed@59a2.org">jed@59a2.org</a>><br>Date: Thu, 10 Dec 2009 12:27:57 +0100<br>Subject: Re: fieldsplits<br>Thanks a lot, it works now.<br>
<br>
Besides my confusion with the fieldsplit Schur options, I think that my<br>
mistake was that I was not calling a PCSetUp of the fieldsplit PC before<br>
calling a KSPView (which I always call just before the KSPSolve):<br>
PCFieldSplitSetType(fieldsplitPC,PC_COMPOSITE_SCHUR) ...<br>
PCSetUp(fieldsplitPC), KSPView, KSPSolve works<br>
PCFieldSplitSetType(fieldsplitPC,PC_COMPOSITE_SCHUR) ... KSPSolve works<br>
PCFieldSplitSetType(fieldsplitPC,PC_COMPOSITE_SCHUR) ... KSPView,<br>
KSPSolve does not work.<br>
<br>
francois.<br>
<br>
<br>
Jed Brown a Ã©crit :<br>
> Thanks for the info, I'll read the rest more carefully later.<br>
><br>
> On Wed, 09 Dec 2009 16:56:11 +0100, francois pacull <<a href="mailto:fpacull@fluorem.com">fpacull@fluorem.com</a>> wrote:<br>
><br>
><br>
>> I would like to use an ILU factorization for A, a GMRES for S... Also, I<br>
>> would like an ILU factorization for D,  in order to construct a<br>
>> preconditioner for S, but how to set it up? With fieldsplit_1 I guess?<br>
>><br>
><br>
> I think this will do what you're asking for<br>
><br>
> -fieldsplit_0_ksp_type preonly         # no subcycles on A<br>
> -fieldsplit_0_pc_type ilu              # precondition A using ILU<br>
> -pc_fieldsplit_schur_precondition diag # use D as preconditioning matrix for S<br>
> -fieldsplit_1_ksp_type gmres           # GMRES on S<br>
> -fieldsplit_1_ksp_max_it 10            # 10 iterations max<br>
> -fieldsplit_1_pc_type ilu              # ILU of D to precondition GMRES on S<br>
><br>
> Use -ksp_type fgmres because the preconditioner is nonlinear, pc_types<br>
> would need to be asm or bjacobi in parallel, but try in serial first.<br>
><br>
> Jed<br>
><br>
><br>
<br></blockquote></div><br><br clear="all"><br>-- <br>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<br>