<div dir="ltr"><div>Adding the MatNestSetVecType() line fixed the problem.  But I don't know why petsc had this weird design originally.</div><div><br></div>      MatCreateNest(PETSC_COMM_WORLD, 3, NULL, 3, NULL, mblock, &testMesh->system);<br> +   MatNestSetVecType(testMesh->system,VECNEST);<br clear="all"><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><br></div><div dir="ltr">--Junchao Zhang</div></div></div><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Jul 15, 2020 at 2:16 PM Karl Yang <<a href="mailto:y.juntao@hotmail.com">y.juntao@hotmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>Hi, Barry, </div><br><div>I created a minimum example to reproduce the error. The example code is attached. </div><br><div>Mat Object: 1 MPI processes</div><div>  type: nest</div><div>  Matrix object: </div><div>    type=nest, rows=3, cols=3 </div><div>    MatNest structure: </div><div>    (0,0) : type=seqaij, rows=5, cols=5 </div><div>    (0,1) : NULL </div><div>    (0,2) : type=seqaij, rows=5, cols=5 </div><div>    (1,0) : NULL </div><div>    (1,1) : type=seqaij, rows=5, cols=5 </div><div>    (1,2) : type=seqaij, rows=5, cols=5 </div><div>    (2,0) : type=seqaij, rows=5, cols=5 </div><div>    (2,1) : type=seqaij, rows=5, cols=5 </div><div>    (2,2) : NULL </div><div>Vec Object: 1 MPI processes</div><div>  type: nest</div><div>  VecNest, rows=3,  structure: </div><div>  (0) : type=seq, rows=5 </div><div>    Vec Object: 1 MPI processes</div><div>      type: seq</div><div>    1.</div><div>    1.</div><div>    1.</div><div>    1.</div><div>    1.</div><div>  (1) : type=seq, rows=5 </div><div>    Vec Object: 1 MPI processes</div><div>      type: seq</div><div>    1.</div><div>    1.</div><div>    1.</div><div>    1.</div><div>    1.</div><div>  (2) : type=seq, rows=5 </div><div>    Vec Object: 1 MPI processes</div><div>      type: seq</div><div>    1.</div><div>    1.</div><div>    1.</div><div>    1.</div><div>    1.</div><div>[0]PETSC ERROR: --------------------- Error Message --------------------------------------------------------------</div><div>[0]PETSC ERROR: Invalid argument</div><div>[0]PETSC ERROR: Nest vector argument 2 not setup.</div><div>[0]PETSC ERROR: See <a href="https://www.mcs.anl.gov/petsc/documentation/faq.html" target="_blank">https://www.mcs.anl.gov/petsc/documentation/faq.html</a> for trouble shooting.</div><div>[0]PETSC ERROR: Petsc Release Version 3.12.5, Mar, 29, 2020 </div><div>[0]PETSC ERROR: ./testSolve on a arch-linux2-c-debug named f601294ac804 by Unknown Thu Jul 16 03:11:02 2020</div><div>[0]PETSC ERROR: Configure options --with-cc=gcc --with-cxx=g++ --with-fc=gfortran --download-mpich --download-fblaslapack --with-cuda</div><div>[0]PETSC ERROR: #1 VecCopy_Nest() line 68 in /usr/local/petsc/petsc-3.12.5/src/vec/vec/impls/nest/vecnest.c</div><div>[0]PETSC ERROR: #2 VecCopy() line 1577 in /usr/local/petsc/petsc-3.12.5/src/vec/vec/interface/vector.c</div><div>[0]PETSC ERROR: #3 KSPInitialResidual() line 61 in /usr/local/petsc/petsc-3.12.5/src/ksp/ksp/interface/itres.c</div><div>[0]PETSC ERROR: #4 KSPSolve_GMRES() line 236 in /usr/local/petsc/petsc-3.12.5/src/ksp/ksp/impls/gmres/gmres.c</div><div>[0]PETSC ERROR: #5 KSPSolve() line 760 in /usr/local/petsc/petsc-3.12.5/src/ksp/ksp/interface/itfunc.c</div><div>On Jul 16 2020, at 2:39 am, Barry Smith <<a href="mailto:bsmith@petsc.dev" target="_blank">bsmith@petsc.dev</a>> wrote:</div><blockquote><div><br></div><div>  Could be a bug in PETSc, please send a sample program that produces the problem.</div><div><br></div><div>  Barry</div><div><br><div><br><blockquote><div>On Jul 15, 2020, at 1:28 PM, Karl Yang <<a href="https://link.getmailspring.com/link/060AB2C3-F3D7-408C-99CF-C4D1B27DD59F@getmailspring.com/0?redirect=mailto%3Ay.juntao%40hotmail.com&recipient=cGV0c2MtdXNlcnNAbWNzLmFubC5nb3Y%3D" title="mailto:y.juntao@hotmail.com" target="_blank">y.juntao@hotmail.com</a>> wrote:</div><br><div><div>Hi, Barry,</div><br><div>Thanks for your reply. I output the matrix and vec with matview and vecview. And I think I do have the values set as it has been shown.</div><br><div>Mat Object: 1 MPI processes</div><div>  type: nest</div><div>  Matrix object:</div><div>    type=nest, rows=3, cols=3</div><div>    MatNest structure:</div><div>    (0,0) : type=seqaij, rows=25, cols=25</div><div>    (0,1) : NULL</div><div>    (0,2) : type=seqaij, rows=25, cols=25</div><div>    (1,0) : NULL</div><div>    (1,1) : type=seqaij, rows=25, cols=25</div><div>    (1,2) : type=seqaij, rows=25, cols=25</div><div>    (2,0) : type=seqaij, rows=25, cols=25</div><div>    (2,1) : type=seqaij, rows=25, cols=25</div><div>    (2,2) : NULL</div><div>Vec Object: 1 MPI processes</div><div>  type: nest</div><div>  VecNest, rows=3,  structure:</div><div>  (0) : type=seq, rows=25</div><div>    Vec Object: 1 MPI processes</div><div>      type: seq</div><div>    0.</div><div>    0.</div><div>    0.</div><div>    0.</div><div>    0.</div><div>    0.</div><div>    75.8279</div><div>    -51.0776</div><div>    -75.8279</div><div>    0.</div><div>    0.</div><div>    -90.8404</div><div>    58.7011</div><div>    90.8404</div><div>    0.</div><div>    0.</div><div>    -75.8279</div><div>    51.0776</div><div>    75.8279</div><div>    0.</div><div>    0.</div><div>    0.</div><div>    0.</div><div>    0.</div><div>    0.</div><div>  (1) : name="Vec_0x84000000_0", type=seq, rows=25</div><div>    Vec Object: Vec_0x84000000_0 1 MPI processes</div><div>      type: seq</div><div>    0.</div><div>    0.</div><div>    0.</div><div>    0.</div><div>    0.</div><div>    0.</div><div>    75.8279</div><div>    -51.0776</div><div>    -75.8279</div><div>    0.</div><div>    0.</div><div>    -90.8404</div><div>    58.7011</div><div>    90.8404</div><div>    0.</div><div>    0.</div><div>    -75.8279</div><div>    51.0776</div><div>    75.8279</div><div>    0.</div><div>    0.</div><div>    0.</div><div>    0.</div><div>    0.</div><div>    0.</div><div>  (2) : type=seq, rows=25</div><div>    Vec Object: 1 MPI processes</div><div>      type: seq</div><div>    0.</div><div>    0.</div><div>    0.</div><div>    0.</div><div>    0.</div><div>    0.</div><div>    0.</div><div>    0.</div><div>    0.</div><div>    0.</div><div>    0.</div><div>    0.</div><div>    0.</div><div>    0.</div><div>    0.</div><div>    0.</div><div>    0.</div><div>    0.</div><div>    0.</div><div>    0.</div><div>    0.</div><div>    0.</div><div>    0.</div><div>    0.</div><div>    0.</div><div>[0]PETSC ERROR: --------------------- Error Message --------------------------------------------------------------</div><div>[0]PETSC ERROR: Invalid argument</div><div>[0]PETSC ERROR: Nest vector argument 4 not setup.</div><div>[0]PETSC ERROR: See <a href="https://link.getmailspring.com/link/060AB2C3-F3D7-408C-99CF-C4D1B27DD59F@getmailspring.com/1?redirect=https%3A%2F%2Fwww.mcs.anl.gov%2Fpetsc%2Fdocumentation%2Ffaq.html&recipient=cGV0c2MtdXNlcnNAbWNzLmFubC5nb3Y%3D" title="https://www.mcs.anl.gov/petsc/documentation/faq.html" target="_blank">https://www.mcs.anl.gov/petsc/documentation/faq.html</a> for trouble shooting.</div><div>[0]PETSC ERROR: Petsc Release Version 3.12.5, Mar, 29, 2020</div><div>[0]PETSC ERROR: ./testSolve on a arch-linux2-c-debug named f601294ac804 by Unknown Thu Jul 16 02:15:26 2020</div><div>[0]PETSC ERROR: Configure options --with-cc=gcc --with-cxx=g++ --with-fc=gfortran --download-mpich --download-fblaslapack --with-cuda</div><div>[0]PETSC ERROR: #1 VecPointwiseMult_Nest() line 245 in /usr/local/petsc/petsc-3.12.5/src/vec/vec/impls/nest/vecnest.c</div><div>[0]PETSC ERROR: #2 VecPointwiseMult() line 1107 in /usr/local/petsc/petsc-3.12.5/src/vec/vec/interface/vector.c</div><div>[0]PETSC ERROR: #3 PCApply_Jacobi() line 272 in /usr/local/petsc/petsc-3.12.5/src/ksp/pc/impls/jacobi/jacobi.c</div><div>[0]PETSC ERROR: #4 PCApply() line 444 in /usr/local/petsc/petsc-3.12.5/src/ksp/pc/interface/precon.c</div><div>[0]PETSC ERROR: #5 KSP_PCApply() line 281 in /usr/local/petsc/petsc-3.12.5/include/petsc/private/kspimpl.h</div><div>[0]PETSC ERROR: #6 KSPInitialResidual() line 65 in /usr/local/petsc/petsc-3.12.5/src/ksp/ksp/interface/itres.c</div><div>[0]PETSC ERROR: #7 KSPSolve_GMRES() line 236 in /usr/local/petsc/petsc-3.12.5/src/ksp/ksp/impls/gmres/gmres.c</div><div>[0]PETSC ERROR: #8 KSPSolve() line 760 in /usr/local/petsc/petsc-3.12.5/src/ksp/ksp/interface/itfunc.c</div><br><div>On Jul 16 2020, at 2:13 am, Barry Smith <<a href="https://link.getmailspring.com/link/060AB2C3-F3D7-408C-99CF-C4D1B27DD59F@getmailspring.com/2?redirect=mailto%3Absmith%40petsc.dev&recipient=cGV0c2MtdXNlcnNAbWNzLmFubC5nb3Y%3D" title="mailto:bsmith@petsc.dev" target="_blank">bsmith@petsc.dev</a>> wrote:</div><blockquote><div><br></div><div>  From the error message the second vector you are using to form the nest vector has not been completely created/set up. Make sure you called either VecCreateSeq(), VecCreateMPI() or did VecCreate(), VecSetType(), VecSetUp() and if it is the right hand side make sure you put numerical values in it.</div><div><br></div><div>   Barry</div><div><br><div><br><blockquote><div>On Jul 15, 2020, at 1:05 PM, Karl Yang <<a href="https://link.getmailspring.com/link/060AB2C3-F3D7-408C-99CF-C4D1B27DD59F@getmailspring.com/3?redirect=https%3A%2F%2Flink.getmailspring.com%2Flink%2F540F752A-DB59-4878-9C98-B8F4B4D9FD0D%40getmailspring.com%2F0%3Fredirect%3Dmailto%253Ay.juntao%2540hotmail.com%26recipient%3DYnNtaXRoQHBldHNjLmRldg%253D%253D&recipient=cGV0c2MtdXNlcnNAbWNzLmFubC5nb3Y%3D" title="https://link.getmailspring.com/link/540F752A-DB59-4878-9C98-B8F4B4D9FD0D@getmailspring.com/0?redirect=mailto%3Ay.juntao%40hotmail.com&recipient=YnNtaXRoQHBldHNjLmRldg%3D%3D" target="_blank">y.juntao@hotmail.com</a>> wrote:</div><br><div><div>Hello,</div><br><div>I'm trying to solve a 2*2 block matrix system.</div><div>I managed to form a 2*2 MatNest and a 21 VecNest. However when I try to  make use of ksp solve, I encounter the following error. There is only one or two examples on MatNest and VecNest. I could not figure out what could be the trouble.</div><br><br><div>[0]PETSC ERROR: --------------------- Error Message --------------------------------------------------------------</div><div>[0]PETSC ERROR: Invalid argument</div><div>[0]PETSC ERROR: Nest vector argument 2 not setup.</div><div>[0]PETSC ERROR: See <a href="https://link.getmailspring.com/link/060AB2C3-F3D7-408C-99CF-C4D1B27DD59F@getmailspring.com/4?redirect=https%3A%2F%2Flink.getmailspring.com%2Flink%2F540F752A-DB59-4878-9C98-B8F4B4D9FD0D%40getmailspring.com%2F1%3Fredirect%3Dhttps%253A%252F%252Fwww.mcs.anl.gov%252Fpetsc%252Fdocumentation%252Ffaq.html%26recipient%3DYnNtaXRoQHBldHNjLmRldg%253D%253D&recipient=cGV0c2MtdXNlcnNAbWNzLmFubC5nb3Y%3D" title="https://link.getmailspring.com/link/540F752A-DB59-4878-9C98-B8F4B4D9FD0D@getmailspring.com/1?redirect=https%3A%2F%2Fwww.mcs.anl.gov%2Fpetsc%2Fdocumentation%2Ffaq.html&recipient=YnNtaXRoQHBldHNjLmRldg%3D%3D" target="_blank">https://www.mcs.anl.gov/petsc/documentation/faq.html</a> for trouble shooting.</div><div>[0]PETSC ERROR: Petsc Release Version 3.12.5, Mar, 29, 2020</div><div>[0]PETSC ERROR: ./testSolve on a arch-linux2-c-debug named f601294ac804 by Unknown Thu Jul 16 01:56:11 2020</div><div>[0]PETSC ERROR: Configure options --with-cc=gcc --with-cxx=g++ --with-fc=gfortran --download-mpich --download-fblaslapack --with-cuda</div><div>[0]PETSC ERROR: #1 VecCopy_Nest() line 68 in /usr/local/petsc/petsc-3.12.5/src/vec/vec/impls/nest/vecnest.c</div><div>[0]PETSC ERROR: #2 VecCopy() line 1577 in /usr/local/petsc/petsc-3.12.5/src/vec/vec/interface/vector.c</div><div>[0]PETSC ERROR: #3 KSPInitialResidual() line 61 in /usr/local/petsc/petsc-3.12.5/src/ksp/ksp/interface/itres.c</div><div>[0]PETSC ERROR: #4 KSPSolve_GMRES() line 236 in /usr/local/petsc/petsc-3.12.5/src/ksp/ksp/impls/gmres/gmres.c</div><div>[0]PETSC ERROR: #5 KSPSolve() line 760 in /usr/local/petsc/petsc-3.12.5/src/ksp/ksp/interface/itfunc.c</div><br><br><div>Regards</div><div>JT</div></div></blockquote></div></div></blockquote></div></blockquote></div></div></blockquote><img alt="Sent from Mailspring" width="0" height="0" style="border: 0px; width: 0px; height: 0px;" src="https://link.getmailspring.com/open/060AB2C3-F3D7-408C-99CF-C4D1B27DD59F@getmailspring.com?me=05842e25&recipient=cGV0c2MtdXNlcnNAbWNzLmFubC5nb3Y%3D"></blockquote></div>