<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Thu, Nov 12, 2015 at 7:39 PM, Timothée Nicolas <span dir="ltr"><<a href="mailto:timothee.nicolas@gmail.com" target="_blank">timothee.nicolas@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Sorry, here is the full error message<br><br>[0]PETSC ERROR: Nonconforming object sizes<br>[0]PETSC ERROR: Preconditioner number of local rows -1 does not equal resulting vector number of rows 71808<br>[0]PETSC ERROR: See <a href="http://www.mcs.anl.gov/petsc/documentation/faq.html" target="_blank">http://www.mcs.anl.gov/petsc/documentation/faq.html</a> for trouble shooting.<br>[0]PETSC ERROR: Petsc Release Version 3.6.0, Jun, 09, 2015 <br>[0]PETSC ERROR: ./mips_implicit on a arch-linux2-c-opt named helios90 by tnicolas Fri Nov 13 10:39:14 2015<br>[0]PETSC ERROR: Configure options --prefix=/csc/softs/anl/petsc-3.6.0/intel-15.0.0.090/bullxmpi-1.2.8.2/real --with-debugging=0 --with-x=0 --with-cc=mpicc --with-fc=mpif90 --with-cxx=mpicxx --with-fortran --known-mpi-shared-libraries=1 --with-scalar-type=real --with-precision=double --CFLAGS="-g -O3 -mavx -mkl" --CXXFLAGS="-g -O3 -mavx -mkl" --FFLAGS="-g -O3 -mavx -mkl"<br>[0]PETSC ERROR: #1 PCApply() line 472 in /csc/releases/buildlog/anl/petsc-3.6.0/intel-15.0.0.090/bullxmpi-1.2.8.2/real/petsc-3.6.0/src/ksp/pc/interface/precon.c<br>[0]PETSC ERROR: #2 KSP_PCApply() line 242 in /csc/releases/buildlog/anl/petsc-3.6.0/intel-15.0.0.090/bullxmpi-1.2.8.2/real/petsc-3.6.0/include/petsc/private/kspimpl.h<br>[0]PETSC ERROR: #3 KSPInitialResidual() line 63 in /csc/releases/buildlog/anl/petsc-3.6.0/intel-15.0.0.090/bullxmpi-1.2.8.2/real/petsc-3.6.0/src/ksp/ksp/interface/itres.c<br>[0]PETSC ERROR: #4 KSPSolve_GMRES() line 235 in /csc/releases/buildlog/anl/petsc-3.6.0/intel-15.0.0.090/bullxmpi-1.2.8.2/real/petsc-3.6.0/src/ksp/ksp/impls/gmres/gmres.c<br>[0]PETSC ERROR: #5 KSPSolve() line 604 in /csc/releases/buildlog/anl/petsc-3.6.0/intel-15.0.0.090/bullxmpi-1.2.8.2/real/petsc-3.6.0/src/ksp/ksp/interface/itfunc.c</div></blockquote><div><br></div><div>The PC uses the matrix it gets to determine sizes, and compare to the input vectors it gets for PCApply(). The</div><div>preconditioner matrix is not setup or is not reporting sizes, for example if its a MATSHELL it does not have any sizes.</div><div><br></div><div>  Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="gmail_extra"><div class="gmail_quote">2015-11-13 10:38 GMT+09:00 Matthew Knepley <span dir="ltr"><<a href="mailto:knepley@gmail.com" target="_blank">knepley@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><span>On Thu, Nov 12, 2015 at 6:47 PM, Timothée Nicolas <span dir="ltr"><<a href="mailto:timothee.nicolas@gmail.com" target="_blank">timothee.nicolas@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div><div><div><div><div>Hi all,<br><br></div>In the manual and the documentation, the syntax for the routine to be given as argument of PCMGSetResidual:<br><br><pre><a href="http://www.mcs.anl.gov/petsc/petsc-3.6/docs/manualpages/PC/PCMGSetResidual.html#PCMGSetResidual" target="_blank">PCMGSetResidual</a>(PC pc,<a href="http://www.mcs.anl.gov/petsc/petsc-3.6/docs/manualpages/Sys/PetscInt.html#PetscInt" target="_blank">PetscInt</a> l,<a href="http://www.mcs.anl.gov/petsc/petsc-3.6/docs/manualpages/Sys/PetscErrorCode.html#PetscErrorCode" target="_blank">PetscErrorCode</a> (*residual)(<a href="http://www.mcs.anl.gov/petsc/petsc-3.6/docs/manualpages/Mat/Mat.html#Mat" target="_blank">Mat</a>,<a href="http://www.mcs.anl.gov/petsc/petsc-3.6/docs/manualpages/Vec/Vec.html#Vec" target="_blank">Vec</a>,<a href="http://www.mcs.anl.gov/petsc/petsc-3.6/docs/manualpages/Vec/Vec.html#Vec" target="_blank">Vec</a>,<a href="http://www.mcs.anl.gov/petsc/petsc-3.6/docs/manualpages/Vec/Vec.html#Vec" target="_blank">Vec</a>),<a href="http://www.mcs.anl.gov/petsc/petsc-3.6/docs/manualpages/Mat/Mat.html#Mat" target="_blank">Mat</a> mat)</pre><br></div>is not specified. I mean that the order of the vectors is not specified. I suppose it is something like<br></div>residual(Mat,b,x,r) with r = b - Mat*x, but it could as well be any combination like residual(Mat,r,x,b). There is no example in the documentation of the usage so I am confused. Does it absolutely need to be set ? I find the manual a bit confusing on this point. Is it only if matrix-free matrices are used ?<br><br></div>In the present situation, I use matrix-free operators in a multigrid preconditioner (but the interpolation and restriction are not matrix free) and have not set this residual function yet. I get the following error:<br></div></div></div></div></blockquote><div><br></div></span><div>Always always always give the entire error message. We want the stack.</div><div><br></div><div>The problem here looks like the preconditioner is reporting -1 rows for process 13.</div><div><br></div><div>  Matt</div><span><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div>[13]PETSC ERROR: Preconditioner number of local rows -1 does not equal resulting vector number of rows 67584<br><br></div>Could this be related ? By the way, I don't understand what is meant by the "preconditioner number of local rows". I have separately tested the operators at each level and they are fine.<br><br></div>Best<br><br></div>Timothee<br></div>
</blockquote></span></div><span><font color="#888888"><br><br clear="all"><span class="HOEnZb"><font color="#888888"><div><br></div>-- <br><div>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>
</font></span></font></span></div></div>
</blockquote></div><br></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>