<div>Hi Barry,<br>My matrix is read from files stroing a matrix in the Block CRS format. So a natural way to create the matrix is MPIBAIJ. However, if I want to use MatSetValuesBlocked() for the newly created MPIBAIJ, I still need to load a tempary arrary(from Block CRS file) with the length of blocksize^2 and pass it into the Matrix via MatSetValuesBlocked(). This process is similar to the MatSetValues. Could you make a little bit more clarification on why the MatSetValuesBlocked() have some advantage on blocked structure?</div>

<div> </div>
<div>Thanks,</div>
<div> </div>
<div>Yan<br><br><br>  <br></div>
<div class="gmail_quote">On Fri, May 1, 2009 at 6:12 PM, Barry Smith <span dir="ltr">&lt;<a href="mailto:bsmith@mcs.anl.gov" target="_blank">bsmith@mcs.anl.gov</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0pt 0pt 0pt 0.8ex; BORDER-LEFT: rgb(204,204,204) 1px solid"><br> Support for MatSetValuesBlocked() for AIJ matrices was added in PETSc 3.0.0<br><br> Note that if your matrix is truly blocked you should use BAIJ matrices, if your matrix is not truly blocked then there is no benefit to using MatSetValuesBlocked() it was added so people could easily switch between AIJ and BAIJ for testing.<br>
<font color="#888888"><br>  Barry</font> 
<div>
<div></div>
<div><br><br>On May 1, 2009, at 5:04 PM, Ryan Yan wrote:<br><br>
<blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0pt 0pt 0pt 0.8ex; BORDER-LEFT: rgb(204,204,204) 1px solid">Hi, all,<br>I am using MPIAIJ for my matrix A, but when I call the function MatSetValuesBlocked, I got the error:<br>
<br>PetscPrintf(PETSC_COMM_WORLD, &quot;breakpoint 1\n&quot;);<br>              ierr = MatSetValuesBlocked(A,1,&amp;irow,1,(col_ind+icol),temp_vector,INSERT_VALUES);<br> PetscPrintf(PETSC_COMM_WORLD, &quot;breakpoint 2\n&quot;);<br>
<br><br>breakpoint 1<br>[0]PETSC ERROR: --------------------- Error Message ------------------------------------<br>[0]PETSC ERROR: No support for this operation for this object type!<br>[0]PETSC ERROR: Mat type mpiaij!<br>
[0]PETSC ERROR: ------------------------------------------------------------------------<br>[0]PETSC ERROR: Petsc Release Version 2.3.3, Patch 15, Tue Sep 23 10:02:49 CDT 2008 HG revision: 31306062cd1a6f6a2496fccb4878f485c9b91760<br>
[0]PETSC ERROR: See docs/changes/index.html for recent updates.<br>[0]PETSC ERROR: See docs/faq.html for hints about trouble shooting.<br>[0]PETSC ERROR: See docs/index.html for manual pages.<br>[0]PETSC ERROR: ------------------------------------------------------------------------<br>
[0]PETSC ERROR: /home/vyan2000/local/PPETSc/petsc-2.3.3-p15/src/ksp/ksp/examples/tutorials/ttt2/kspex1reader_binmpiaij on a linux-gnu named vyan2000-linux by vyan2000 Fri May  1 17:58:48 2009<br>[0]PETSC ERROR: Libraries linked from /home/vyan2000/local/PPETSc/petsc-2.3.3-p15/lib/linux-gnu-c-debug<br>
[0]PETSC ERROR: Configure run at Thu Feb  5 21:10:10 2009<br>[0]PETSC ERROR: Configure options --with-mpi-dir=/usr/lib/ --with-debugger=gdb --with-shared=0 --download-hypre=1 --download-parmetis=1<br>[0]PETSC ERROR: ------------------------------------------------------------------------<br>
[0]PETSC ERROR: MatSetValuesBlocked() line 1289 in src/mat/interface/matrix.c<br>breakpoint 2<br><br>Is it the reason that  MatSetValuesBlocked only works for MPIBAIJ or SeqBAIJ?<br><br>Thanks,<br><br>Yan<br></blockquote>
<br></div></div></blockquote></div><br>