<html dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" id="owaParaStyle"></style>
</head>
<body fpstyle="1" ocsi="0">
<div style="direction: ltr;font-family: Tahoma;color: #000000;font-size: 10pt;">Thank you Matt. 
<div><br>
</div>
<div><span style="font-size: 10pt;">Hui</span></div>
<div><br>
</div>
<div><br>
<div style="font-family: Times New Roman; color: #000000; font-size: 16px">
<hr tabindex="-1">
<div id="divRpF778676" style="direction: ltr;"><font face="Tahoma" size="2" color="#000000"><b>From:</b> Matthew Knepley [knepley@gmail.com]<br>
<b>Sent:</b> Tuesday, February 24, 2015 2:03 AM<br>
<b>To:</b> Sun, Hui<br>
<b>Cc:</b> petsc-users@mcs.anl.gov<br>
<b>Subject:</b> Re: [petsc-users] On user defined PC of schur complement<br>
</font><br>
</div>
<div></div>
<div>
<div dir="ltr">
<div class="gmail_extra">
<div class="gmail_quote">On Tue, Feb 24, 2015 at 12:08 AM, Sun, Hui <span dir="ltr">
<<a href="mailto:hus003@ucsd.edu" target="_blank">hus003@ucsd.edu</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex; border-left:1px #ccc solid; padding-left:1ex">
<div>
<div style="direction:ltr; font-family:Tahoma; color:#000000; font-size:10pt">I have a block matrix [A, B; C, D], and I want to use Schur complement to solve the linear system  [A, B; C, D] * [x; y] = [c; d]. 
<div><br>
</div>
<div>I want to apply a preconditioner for solving ( D - C*A^(-1)*B ) y = rhs. And it is easy for me to find an A' which is approximate to A, and A'^(-1) is easy to get. So for this part, I can easily define a preconditioner matrix   P = <span style="font-size:10pt">(
 D - C*A'^(-1)*B ) using </span><span style="font-family:Menlo; font-size:11px">PCFieldSplitSchurPrecondition</span><span style="font-size:10pt">. The next step is that I want to do incomplete LU factorization for </span><span style="font-size:10pt">P as my
 left and right preconditioner for solving </span><span style="font-size:10pt">( D - C*A^(-1)*B ) y = rhs using gmres or bcgs. </span></div>
<div><span style="font-size:10pt"><br>
</span></div>
<div><span style="font-size:10pt">My question is since part of the PC is user defined, and part of it is PETSC defined, how can I combine them? Can I do something like:</span></div>
<div><span style="font-size:10pt"><br>
</span></div>
<div>
<p style="margin-right:0px; margin-left:0px; font-size:11px; font-family:Menlo">ierr = PCFieldSplitSchurPrecondition(pc, PC_FIELDSPLIT_SCHUR_PRE_USER, P);CHKERRQ(ierr);</p>
</div>
</div>
</div>
</blockquote>
<div>Once you specify the preconditioner matrix, you can use a factorization preconditioner:</div>
<div><br>
</div>
<div>  -fieldsplit_1_pc_type ilu</div>
<div><br>
</div>
<div>    Matt</div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex; border-left:1px #ccc solid; padding-left:1ex">
<div>
<div style="direction:ltr; font-family:Tahoma; color:#000000; font-size:10pt">
<div>
<pre width="80" style="background-color:rgb(255,255,255)"><span style="font-family:Menlo; font-size:11px">ierr = PCSetType(pc, PCILU);CHKERRQ(ierr);</span></pre>
</div>
<div><span style="font-size:10pt"><br>
</span></div>
<div><span style="font-size:10pt">Hui</span></div>
</div>
</div>
</blockquote>
</div>
<br>
<br clear="all">
<div><br>
</div>
-- <br>
<div class="gmail_signature">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>
</div>
</div>
</div>
</div>
</div>
</body>
</html>