Dear Matthew:<br><br>Now, in my code, first, I initialize PetSC using PetscInitialize() function. And then, I set the block size of Mat using MatSetBlockSize(). Finally, I solve the equation. Regarding your reply. you mean that PetSC is not reponsible  to let all the nodes know&nbsp;the&nbsp;block&nbsp;size&nbsp;of&nbsp;Mat.&nbsp;Ineed&nbsp;to&nbsp;set&nbsp;this&nbsp;size&nbsp;at&nbsp;each&nbsp;nodes?&nbsp;&nbsp;In addition, where will PC and its relevant parameters exist? Because I meet the following&nbsp; error when I set the size after I initiliaze the PetSC. 
<br>[1]PETSC ERROR: MatSetBlockSize() line 5204 in src/mat/interface/matrix.c<br>[5]PETSC ERROR: [13]PETSC ERROR: --------------------- Error Message ------------------------------------<br>[13]PETSC ERROR: Null argument, when expecting valid pointer!
<br>[13]PETSC ERROR: Null Object: Parameter # 1!<br>[14]PETSC ERROR: --------------------- Error Message ------------------------------------<br>[14]PETSC ERROR: Null argument, when expecting valid pointer!<br>[14]PETSC ERROR: Null Object: Parameter # 1!
<br>[14]PETSC ERROR: ------------------------------------------------------------------------<br>[14]PETSC ERROR: Petsc Release Version 2.3.3, Patch 8, Fri Nov 16 17:03:40 CST 2007 HG revision: 414581156e67e55c761739b0deb119f7590d0f4b
<br>[14]PETSC ERROR: See docs/changes/index.html for recent updates.<br>[14]PETSC ERROR: See docs/faq.html for hints about trouble shooting.<br>[14]PETSC ERROR: See docs/index.html for manual pages.<br><br>thanks&nbsp;a&nbsp;lot. 
<br><br>Regards,<br>Yujie<br><br><div><span class="gmail_quote">On 1/2/08, <b class="gmail_sendername">Matthew Knepley</b> &lt;<a href="mailto:knepley@gmail.com" target="_blank">
knepley@gmail.com</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
 On Jan 2, 2008 1:27 PM, Yujie &lt;<a href="mailto:recrusader@gmail.com" target="_blank">recrusader@gmail.com</a>&gt; wrote:<br>&gt; Dear Barry:<br>&gt;<br>&gt; Thank you for your reply. Further problem is whether I only set the block
<br> &gt; size of Mat using MatSetBlockSize() in Processor 0 when I run my code on<br>&gt; Cluster? thank a lot.<br><br>All processors must set the correct block size.<br><br>&nbsp;&nbsp;Matt<br><br>&gt; Happy new year:).<br>&gt;<br>

&gt; Regards, <br>&gt; Yujie<br>&gt;<br>&gt; On 12/21/07, Barry Smith &lt;<a href="mailto:bsmith@mcs.anl.gov" target="_blank">bsmith@mcs.anl.gov</a>&gt; wrote:<br>&gt; &gt;
<br>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp; pmat is the matrix you set with KSPSetOperators() so you just need <br>&gt; &gt; to set block size of that matrix.<br>&gt; &gt;<br>&gt; &gt; On Dec 21, 2007, at 1:16 AM, Yujie wrote:<br>&gt; &gt;<br>&gt; &gt; &gt; hi, everyone
<br>&gt; &gt; &gt;<br>&gt; &gt; &gt; now, I want to use Hypre package via PETSc in third package. I need <br>&gt; &gt; &gt; to visit the variable &quot;bs&quot; in Mat struct. In hypre.c, this variable<br>&gt; &gt; &gt; may let BoomerAMG know the block size of Mat. The code is as follows:
<br>&gt; &gt; &gt;<br>&gt; &gt; &gt; 127: /* special case for BoomerAMG */ <br>&gt; &gt; &gt; 128: if (jac-&gt;setup == HYPRE_BoomerAMGSetup) {<br>&gt; &gt; &gt; 129: MatGetBlockSize(pc-&gt;pmat,&amp;bs);<br>&gt; &gt; &gt; 130: if (bs &gt; 1) {
<br>&gt; &gt; &gt; 131: HYPRE_BoomerAMGSetNumFunctions(jac-&gt;hsolver,bs); <br>&gt; &gt; &gt; 132: }<br>&gt; &gt; &gt; 133: };<br>&gt; &gt; &gt;<br>&gt; &gt; &gt; However, I can&#39;t visit this variable. Now, I have get the pointer of
<br>&gt; &gt; &gt; PC I use. I can&#39;t visit the variable pmat in my code. I can&#39;t find <br>&gt; &gt; &gt; any function to realize this function from PETSc manual.<br>&gt; &gt; &gt; Could you give me some advice about how to do?
<br>&gt; &gt; &gt;<br>&gt; &gt; &gt; Merry X&#39;mas!<br>&gt; &gt; &gt;<br>&gt; &gt; &gt; Regards, <br>&gt; &gt; &gt; Yujie<br>&gt; &gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt;<br>&gt;<br><br><br><br>--<br>What most experimenters take for granted before they begin their
<br>experiments is infinitely more interesting than any results to which <br>their experiments lead.<br>-- Norbert Wiener<br><br></blockquote></div><br>