<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<!--[if !mso]><style>v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style><![endif]--><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:DengXian;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:"\@DengXian";
        panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal">Hi, Matt, <o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">In case, I want to put blocks of matrices(assembled independently) together as the system matrix just as in the example. What would be your recommended approach?<o:p></o:p></p>
<p class="MsoNormal">I first looked into MatCreateBlockMat, but it only supports sequential and then I was directed to MATNEST.  Do I have to assemble directly on “system matrix”.
<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">“<o:p></o:p></p>
<p class="MsoNormal">Matrices of this type are nominally-sparse matrices in which each "entry" is a
<a href="https://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Mat/Mat.html#Mat">
Mat</a> object. Each <a href="https://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Mat/Mat.html#Mat">
Mat</a> must have the same size and be sequential. The local and global sizes must be compatible with this decomposition. For matrices containing parallel submatrices and variable block sizes, see
<a href="https://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/Mat/MATNEST.html#MATNEST">
MATNEST</a>. <o:p></o:p></p>
<p class="MsoNormal">“<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Regards<o:p></o:p></p>
<p class="MsoNormal">Juntao<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b>From:</b> Matthew Knepley <knepley@gmail.com> <br>
<b>Sent:</b> Thursday, July 16, 2020 5:56 PM<br>
<b>To:</b> Karl Yang <y.juntao@hotmail.com><br>
<b>Cc:</b> Junchao Zhang <junchao.zhang@gmail.com>; petsc-users@mcs.anl.gov<br>
<b>Subject:</b> Re: [petsc-users] Errors encountered with KSPsolver with MATNEST and VECNEST<o:p></o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal">On Thu, Jul 16, 2020 at 5:43 AM Karl Yang <<a href="mailto:y.juntao@hotmail.com">y.juntao@hotmail.com</a>> wrote:<o:p></o:p></p>
</div>
<div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<div>
<p class="MsoNormal">Hi, Matt, <o:p></o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">Sorry for the confusion. The error shows as below without SetIS().<o:p></o:p></p>
</div>
</blockquote>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">I see the problem now. It is about the interface for MatNest.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">MatNest is intended _only_ as an optimization. I think you should never have MatNest in user code. Here the<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">problem is that MatNest only supports extraction using the ISes it was created with, whereas detection is<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">finding a different IS. I recommend getting everything working with AIJ, and then use MatSetType() or<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">-mat_type at the end to try out Nest. The interfaces are the same.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">  Thanks,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">    Matt<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<div>
<p class="MsoNormal">[0]PETSC ERROR: --------------------- Error Message --------------------------------------------------------------<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: Arguments are incompatible<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: Could not find index set<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[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.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: Petsc Release Version 3.12.5, Mar, 29, 2020 <o:p>
</o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: ./testSolve on a arch-linux2-c-debug named ae3f0ab5a8c4 by Unknown Thu Jul 16 17:36:52 2020<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: Configure options --with-cc=gcc --with-cxx=g++ --with-fc=gfortran --download-mpich --download-fblaslapack --with-cuda<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: #1 MatNestFindIS() line 365 in /usr/local/petsc/petsc-3.12.5/src/mat/impls/nest/matnest.c<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: #2 MatNestFindSubMat() line 425 in /usr/local/petsc/petsc-3.12.5/src/mat/impls/nest/matnest.c<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: #3 MatCreateSubMatrix_Nest() line 456 in /usr/local/petsc/petsc-3.12.5/src/mat/impls/nest/matnest.c<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: #4 MatCreateSubMatrix() line 7859 in /usr/local/petsc/petsc-3.12.5/src/mat/interface/matrix.c<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: #5 PCSetUp_FieldSplit() line 676 in /usr/local/petsc/petsc-3.12.5/src/ksp/pc/impls/fieldsplit/fieldsplit.c<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: #6 PCSetUp() line 894 in /usr/local/petsc/petsc-3.12.5/src/ksp/pc/interface/precon.c<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: --------------------- Error Message --------------------------------------------------------------<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: Corrupt argument: <a href="https://www.mcs.anl.gov/petsc/documentation/faq.html#valgrind" target="_blank">
https://www.mcs.anl.gov/petsc/documentation/faq.html#valgrind</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: Invalid Pointer to Object: Parameter # 1<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[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.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: Petsc Release Version 3.12.5, Mar, 29, 2020 <o:p>
</o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: ./testSolve on a arch-linux2-c-debug named ae3f0ab5a8c4 by Unknown Thu Jul 16 17:36:52 2020<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: Configure options --with-cc=gcc --with-cxx=g++ --with-fc=gfortran --download-mpich --download-fblaslapack --with-cuda<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: #7 MatDestroy() line 1266 in /usr/local/petsc/petsc-3.12.5/src/mat/interface/matrix.c<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: #8 PCSetUp_FieldSplit() line 697 in /usr/local/petsc/petsc-3.12.5/src/ksp/pc/impls/fieldsplit/fieldsplit.c<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: #9 PCSetUp() line 894 in /usr/local/petsc/petsc-3.12.5/src/ksp/pc/interface/precon.c<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: #10 KSPSetUp() line 376 in /usr/local/petsc/petsc-3.12.5/src/ksp/ksp/interface/itfunc.c<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">KSP Object: 1 MPI processes<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">  type: fgmres<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    restart=30, using Classical (unmodified) Gram-Schmidt Orthogonalization with no iterative refinement<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    happy breakdown tolerance 1e-30<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">  maximum iterations=10000, initial guess is zero<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">  tolerances:  relative=1e-05, absolute=1e-50, divergence=10000.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">  right preconditioning<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">  using UNPRECONDITIONED norm type for convergence test<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">PC Object: 1 MPI processes<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">  type: fieldsplit<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">  PC has not been set up so information may be incomplete<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    FieldSplit with Schur preconditioner, blocksize = 1, factorization FULL<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    Preconditioner for the Schur complement formed from S itself<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    Split info:<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    Split number 0 Defined by IS<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    Split number 1 Defined by IS<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    KSP solver for A00 block<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">      KSP Object: (fieldsplit_0_) 1 MPI processes<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">        type: preonly<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">        maximum iterations=10000, initial guess is zero<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">        tolerances:  relative=1e-05, absolute=1e-50, divergence=10000.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">        left preconditioning<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">        using DEFAULT norm type for convergence test<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">      PC Object: (fieldsplit_0_) 1 MPI processes<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">        type not yet set<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">        PC has not been set up so information may be incomplete<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    KSP solver for upper A00 in upper triangular factor <o:p>
</o:p></p>
</div>
<div>
<p class="MsoNormal">        not yet available<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    KSP solver for S = A11 - A10 inv(A00) A01 <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">        not yet available<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">  linear system matrix = precond matrix:<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">  Mat Object: 1 MPI processes<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    type: nest<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    rows=15, cols=15<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">      Matrix object: <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">        type=nest, rows=3, cols=3 <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">        MatNest structure: <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">        (0,0) : type=seqaij, rows=5, cols=5 <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">        (0,1) : NULL <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">        (0,2) : type=seqaij, rows=5, cols=5 <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">        (1,0) : NULL <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">        (1,1) : type=seqaij, rows=5, cols=5 <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">        (1,2) : type=seqaij, rows=5, cols=5 <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">        (2,0) : type=seqaij, rows=5, cols=5 <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">        (2,1) : type=seqaij, rows=5, cols=5 <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">        (2,2) : NULL <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Segmentation fault (core dumped)<o:p></o:p></p>
</div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><o:p> </o:p></p>
<div>
<p class="MsoNormal">Attached is the test code. <o:p></o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">Regards<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">JT<o:p></o:p></p>
</div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><br>
<br>
<br>
<o:p></o:p></p>
<div>
<p class="MsoNormal">On Jul 16 2020, at 5:30 pm, Matthew Knepley <<a href="mailto:knepley@gmail.com" target="_blank">knepley@gmail.com</a>> wrote:<o:p></o:p></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<div>
<p class="MsoNormal">On Thu, Jul 16, 2020 at 1:23 AM Karl Yang <<a href="https://link.getmailspring.com/link/1D2D2990-B215-4510-B196-F29BD06D4684@getmailspring.com/0?redirect=mailto%3Ay.juntao%40hotmail.com&recipient=a25lcGxleUBnbWFpbC5jb20%3D" target="_blank" title="mailto:y.juntao@hotmail.com">y.juntao@hotmail.com</a>>
 wrote:<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><img border="0" width="1" height="1" style="width:.0104in;height:.0104in" id="_x0000_i1025" src="https://link.getmailspring.com/open/1D2D2990-B215-4510-B196-F29BD06D4684@getmailspring.com?me=05842e25&recipient=a25lcGxleUBnbWFpbC5jb20%3D" alt="Sent from Mailspring"><o:p></o:p></p>
<div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<p class="MsoNormal">Hi, Junchao,<o:p></o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">Thank you. It works. :)<o:p></o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">May I ask some follow up question regarding the same example about fieldsplit. I am trying to learn about matnest with fieldsplit preconditioner on manual page 94. But I get a bit lost trying to understand fields, ISs once it is not eactly
 the same on the manual.<o:p></o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">In this same example, I tried to use PCFIELDSPLIT and  PCFieldSplitSetDetectSaddlePoint as follows.<o:p></o:p></p>
</div>
</blockquote>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">You cannot mix DetectSaddlePoint() with SetIS() since the detection tries to make the proper ISes. Maybe we should check that.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">  Thanks,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">     Matt<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<p class="MsoNormal">IS rows[3];<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">IS cols[3];<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">MatNestGetISs(testMesh->system, rows, cols);<o:p></o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">KSP ksp;<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">PC  pc;<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">KSPCreate(PETSC_COMM_WORLD, &ksp);<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">KSPSetType(ksp, KSPFGMRES);<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">KSPSetOperators(ksp, testMesh->system, testMesh->system);<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">KSPGetPC(ksp, &pc);<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">PCFieldSplitSetIS(pc, "u", rows[0]);<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">PCFieldSplitSetIS(pc, "v", rows[1]);<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">PCFieldSplitSetIS(pc, "p", rows[2]);<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">PCSetType(pc, PCFIELDSPLIT);<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">PCFieldSplitSetDetectSaddlePoint(pc, PETSC_TRUE);<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">KSPSetUp(ksp);<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">KSPSolve(ksp, testMesh->rhs, testMesh->solution);<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">But I will get the following error,<o:p></o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">[0]PETSC ERROR: --------------------- Error Message --------------------------------------------------------------<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: Arguments are incompatible<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: Could not find index set<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: See <a href="https://www.mcs.anl.gov/petsc/documentation/faq.html" target="_blank" title="https://www.mcs.anl.gov/petsc/documentation/faq.html">
https://www.mcs.anl.gov/petsc/documentation/faq.html</a> for trouble shooting.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: Petsc Release Version 3.12.5, Mar, 29, 2020<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: ./testSolve on a arch-linux2-c-debug named f601294ac804 by Unknown Thu Jul 16 13:08:39 2020<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: Configure options --with-cc=gcc --with-cxx=g++ --with-fc=gfortran --download-mpich --download-fblaslapack --with-cuda<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: #1 MatNestFindIS() line 365 in /usr/local/petsc/petsc-3.12.5/src/mat/impls/nest/matnest.c<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: #2 MatNestFindSubMat() line 425 in /usr/local/petsc/petsc-3.12.5/src/mat/impls/nest/matnest.c<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: #3 MatCreateSubMatrix_Nest() line 456 in /usr/local/petsc/petsc-3.12.5/src/mat/impls/nest/matnest.c<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: #4 MatCreateSubMatrix() line 7859 in /usr/local/petsc/petsc-3.12.5/src/mat/interface/matrix.c<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: #5 PCSetUp_FieldSplit() line 676 in /usr/local/petsc/petsc-3.12.5/src/ksp/pc/impls/fieldsplit/fieldsplit.c<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: #6 PCSetUp() line 894 in /usr/local/petsc/petsc-3.12.5/src/ksp/pc/interface/precon.c<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: #7 KSPSetUp() line 376 in /usr/local/petsc/petsc-3.12.5/src/ksp/ksp/interface/itfunc.c<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: --------------------- Error Message --------------------------------------------------------------<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: Corrupt argument: <a href="https://www.mcs.anl.gov/petsc/documentation/faq.html#valgrind" target="_blank" title="https://www.mcs.anl.gov/petsc/documentation/faq.html#valgrind">
https://www.mcs.anl.gov/petsc/documentation/faq.html#valgrind</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: Invalid Pointer to Object: Parameter # 1<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: See <a href="https://www.mcs.anl.gov/petsc/documentation/faq.html" target="_blank" title="https://www.mcs.anl.gov/petsc/documentation/faq.html">
https://www.mcs.anl.gov/petsc/documentation/faq.html</a> for trouble shooting.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: Petsc Release Version 3.12.5, Mar, 29, 2020<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: ./testSolve on a arch-linux2-c-debug named f601294ac804 by Unknown Thu Jul 16 13:08:39 2020<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: Configure options --with-cc=gcc --with-cxx=g++ --with-fc=gfortran --download-mpich --download-fblaslapack --with-cuda<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: #8 MatDestroy() line 1266 in /usr/local/petsc/petsc-3.12.5/src/mat/interface/matrix.c<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: #9 PCSetUp_FieldSplit() line 697 in /usr/local/petsc/petsc-3.12.5/src/ksp/pc/impls/fieldsplit/fieldsplit.c<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: #10 PCSetUp() line 894 in /usr/local/petsc/petsc-3.12.5/src/ksp/pc/interface/precon.c<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: #11 KSPSetUp() line 376 in /usr/local/petsc/petsc-3.12.5/src/ksp/ksp/interface/itfunc.c<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: #12 KSPSolve() line 703 in /usr/local/petsc/petsc-3.12.5/src/ksp/ksp/interface/itfunc.c<o:p></o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">I read about the examples on the manual and mostly are based on 2<em><span style="font-family:"Calibri",sans-serif">2 blocks but still cannot figure out how pcfieldsplit should be set in this 3</span></em> *<em><span style="font-family:"Calibri",sans-serif">3
 blocks, and how IS should be set accordingly. I read about -fieldsplit_1_pc_type none option suggested on the documentation, but I am not sure is it still valid in a 33 blocks.</span></em><o:p></o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal"><em><span style="font-family:"Calibri",sans-serif">Regards</span></em><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><em><span style="font-family:"Calibri",sans-serif">JT</span></em><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">On Jul 16 2020, at 6:57 am, Junchao Zhang <<a href="mailto:junchao.zhang@gmail.com" target="_blank" title="mailto:junchao.zhang@gmail.com">junchao.zhang@gmail.com</a>> wrote:<o:p></o:p></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<div>
<p class="MsoNormal">Adding the MatNestSetVecType() line fixed the problem.  But I don't know why petsc had this weird design originally.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">      MatCreateNest(PETSC_COMM_WORLD, 3, NULL, 3, NULL, mblock, &testMesh->system);<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> +   MatNestSetVecType(testMesh->system,VECNEST);<o:p></o:p></p>
</div>
<div>
<div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">--Junchao Zhang<o:p></o:p></p>
</div>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<div>
<p class="MsoNormal">On Wed, Jul 15, 2020 at 2:16 PM Karl Yang <<a href="mailto:y.juntao@hotmail.com" target="_blank" title="mailto:y.juntao@hotmail.com">y.juntao@hotmail.com</a>> wrote:<o:p></o:p></p>
</div>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<p class="MsoNormal">Hi, Barry,<o:p></o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">I created a minimum example to reproduce the error. The example code is attached.<o:p></o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">Mat Object: 1 MPI processes<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">  type: nest<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">  Matrix object:<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    type=nest, rows=3, cols=3<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    MatNest structure:<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    (0,0) : type=seqaij, rows=5, cols=5<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    (0,1) : NULL<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    (0,2) : type=seqaij, rows=5, cols=5<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    (1,0) : NULL<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    (1,1) : type=seqaij, rows=5, cols=5<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    (1,2) : type=seqaij, rows=5, cols=5<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    (2,0) : type=seqaij, rows=5, cols=5<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    (2,1) : type=seqaij, rows=5, cols=5<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    (2,2) : NULL<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Vec Object: 1 MPI processes<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">  type: nest<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">  VecNest, rows=3,  structure:<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">  (0) : type=seq, rows=5<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    Vec Object: 1 MPI processes<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">      type: seq<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    1.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    1.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    1.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    1.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    1.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">  (1) : type=seq, rows=5<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    Vec Object: 1 MPI processes<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">      type: seq<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    1.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    1.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    1.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    1.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    1.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">  (2) : type=seq, rows=5<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    Vec Object: 1 MPI processes<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">      type: seq<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    1.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    1.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    1.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    1.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    1.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: --------------------- Error Message --------------------------------------------------------------<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: Invalid argument<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: Nest vector argument 2 not setup.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: See <a href="https://www.mcs.anl.gov/petsc/documentation/faq.html" target="_blank" title="https://www.mcs.anl.gov/petsc/documentation/faq.html">
https://www.mcs.anl.gov/petsc/documentation/faq.html</a> for trouble shooting.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: Petsc Release Version 3.12.5, Mar, 29, 2020<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: ./testSolve on a arch-linux2-c-debug named f601294ac804 by Unknown Thu Jul 16 03:11:02 2020<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: Configure options --with-cc=gcc --with-cxx=g++ --with-fc=gfortran --download-mpich --download-fblaslapack --with-cuda<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: #1 VecCopy_Nest() line 68 in /usr/local/petsc/petsc-3.12.5/src/vec/vec/impls/nest/vecnest.c<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: #2 VecCopy() line 1577 in /usr/local/petsc/petsc-3.12.5/src/vec/vec/interface/vector.c<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: #3 KSPInitialResidual() line 61 in /usr/local/petsc/petsc-3.12.5/src/ksp/ksp/interface/itres.c<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: #4 KSPSolve_GMRES() line 236 in /usr/local/petsc/petsc-3.12.5/src/ksp/ksp/impls/gmres/gmres.c<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: #5 KSPSolve() line 760 in /usr/local/petsc/petsc-3.12.5/src/ksp/ksp/interface/itfunc.c<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">On Jul 16 2020, at 2:39 am, Barry Smith <<a href="mailto:bsmith@petsc.dev" target="_blank" title="mailto:bsmith@petsc.dev">bsmith@petsc.dev</a>> wrote:<o:p></o:p></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">  Could be a bug in PETSc, please send a sample program that produces the problem.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">  Barry<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<p class="MsoNormal">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" target="_blank" title="https://link.getmailspring.com/link/060AB2C3-F3D7-408C-99CF-C4D1B27DD59F@getmailspring.com/0?redirect=mailto%3Ay.juntao%40hotmail.com&recipient=cGV0c2MtdXNlcnNAbWNzLmFubC5nb3Y%3D">y.juntao@hotmail.com</a>>
 wrote:<o:p></o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal">Hi, Barry,<o:p></o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">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.<o:p></o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">Mat Object: 1 MPI processes<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">  type: nest<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">  Matrix object:<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    type=nest, rows=3, cols=3<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    MatNest structure:<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    (0,0) : type=seqaij, rows=25, cols=25<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    (0,1) : NULL<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    (0,2) : type=seqaij, rows=25, cols=25<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    (1,0) : NULL<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    (1,1) : type=seqaij, rows=25, cols=25<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    (1,2) : type=seqaij, rows=25, cols=25<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    (2,0) : type=seqaij, rows=25, cols=25<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    (2,1) : type=seqaij, rows=25, cols=25<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    (2,2) : NULL<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Vec Object: 1 MPI processes<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">  type: nest<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">  VecNest, rows=3,  structure:<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">  (0) : type=seq, rows=25<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    Vec Object: 1 MPI processes<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">      type: seq<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    0.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    0.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    0.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    0.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    0.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    0.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    75.8279<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    -51.0776<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    -75.8279<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    0.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    0.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    -90.8404<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    58.7011<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    90.8404<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    0.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    0.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    -75.8279<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    51.0776<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    75.8279<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    0.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    0.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    0.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    0.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    0.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    0.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">  (1) : name="Vec_0x84000000_0", type=seq, rows=25<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    Vec Object: Vec_0x84000000_0 1 MPI processes<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">      type: seq<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    0.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    0.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    0.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    0.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    0.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    0.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    75.8279<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    -51.0776<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    -75.8279<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    0.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    0.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    -90.8404<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    58.7011<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    90.8404<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    0.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    0.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    -75.8279<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    51.0776<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    75.8279<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    0.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    0.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    0.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    0.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    0.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    0.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">  (2) : type=seq, rows=25<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    Vec Object: 1 MPI processes<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">      type: seq<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    0.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    0.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    0.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    0.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    0.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    0.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    0.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    0.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    0.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    0.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    0.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    0.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    0.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    0.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    0.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    0.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    0.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    0.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    0.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    0.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    0.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    0.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    0.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    0.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">    0.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: --------------------- Error Message --------------------------------------------------------------<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: Invalid argument<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: Nest vector argument 4 not setup.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[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" target="_blank" title="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">
https://www.mcs.anl.gov/petsc/documentation/faq.html</a> for trouble shooting.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: Petsc Release Version 3.12.5, Mar, 29, 2020<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: ./testSolve on a arch-linux2-c-debug named f601294ac804 by Unknown Thu Jul 16 02:15:26 2020<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: Configure options --with-cc=gcc --with-cxx=g++ --with-fc=gfortran --download-mpich --download-fblaslapack --with-cuda<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: #1 VecPointwiseMult_Nest() line 245 in /usr/local/petsc/petsc-3.12.5/src/vec/vec/impls/nest/vecnest.c<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: #2 VecPointwiseMult() line 1107 in /usr/local/petsc/petsc-3.12.5/src/vec/vec/interface/vector.c<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: #3 PCApply_Jacobi() line 272 in /usr/local/petsc/petsc-3.12.5/src/ksp/pc/impls/jacobi/jacobi.c<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: #4 PCApply() line 444 in /usr/local/petsc/petsc-3.12.5/src/ksp/pc/interface/precon.c<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: #5 KSP_PCApply() line 281 in /usr/local/petsc/petsc-3.12.5/include/petsc/private/kspimpl.h<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: #6 KSPInitialResidual() line 65 in /usr/local/petsc/petsc-3.12.5/src/ksp/ksp/interface/itres.c<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: #7 KSPSolve_GMRES() line 236 in /usr/local/petsc/petsc-3.12.5/src/ksp/ksp/impls/gmres/gmres.c<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: #8 KSPSolve() line 760 in /usr/local/petsc/petsc-3.12.5/src/ksp/ksp/interface/itfunc.c<o:p></o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">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" target="_blank" title="https://link.getmailspring.com/link/060AB2C3-F3D7-408C-99CF-C4D1B27DD59F@getmailspring.com/2?redirect=mailto%3Absmith%40petsc.dev&recipient=cGV0c2MtdXNlcnNAbWNzLmFubC5nb3Y%3D">bsmith@petsc.dev</a>>
 wrote:<o:p></o:p></p>
</div>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">  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.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">   Barry<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
<blockquote style="margin-top:5.0pt;margin-bottom:5.0pt">
<div>
<p class="MsoNormal">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" target="_blank" title="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.c">y.juntao@hotmail.com</a>>
 wrote:<o:p></o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal">Hello,<o:p></o:p></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">I'm trying to solve a 2*2 block matrix system.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">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.<o:p></o:p></p>
</div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><o:p> </o:p></p>
<div>
<p class="MsoNormal">[0]PETSC ERROR: --------------------- Error Message --------------------------------------------------------------<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: Invalid argument<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: Nest vector argument 2 not setup.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[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" target="_blank" title="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.g">
https://www.mcs.anl.gov/petsc/documentation/faq.html</a> for trouble shooting.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: Petsc Release Version 3.12.5, Mar, 29, 2020<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: ./testSolve on a arch-linux2-c-debug named f601294ac804 by Unknown Thu Jul 16 01:56:11 2020<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: Configure options --with-cc=gcc --with-cxx=g++ --with-fc=gfortran --download-mpich --download-fblaslapack --with-cuda<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: #1 VecCopy_Nest() line 68 in /usr/local/petsc/petsc-3.12.5/src/vec/vec/impls/nest/vecnest.c<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: #2 VecCopy() line 1577 in /usr/local/petsc/petsc-3.12.5/src/vec/vec/interface/vector.c<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: #3 KSPInitialResidual() line 61 in /usr/local/petsc/petsc-3.12.5/src/ksp/ksp/interface/itres.c<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: #4 KSPSolve_GMRES() line 236 in /usr/local/petsc/petsc-3.12.5/src/ksp/ksp/impls/gmres/gmres.c<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">[0]PETSC ERROR: #5 KSPSolve() line 760 in /usr/local/petsc/petsc-3.12.5/src/ksp/ksp/interface/itfunc.c<o:p></o:p></p>
</div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><o:p> </o:p></p>
<div>
<p class="MsoNormal">Regards<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">JT<o:p></o:p></p>
</div>
</div>
</blockquote>
</div>
</div>
</blockquote>
</div>
</blockquote>
</div>
</div>
</blockquote>
</blockquote>
</div>
</blockquote>
</blockquote>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">--<o:p></o:p></p>
</div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<p class="MsoNormal">What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">-- Norbert Wiener<o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<div>
<p class="MsoNormal"><a href="https://link.getmailspring.com/link/1D2D2990-B215-4510-B196-F29BD06D4684@getmailspring.com/1?redirect=http%3A%2F%2Fwww.cse.buffalo.edu%2F~knepley%2F&recipient=a25lcGxleUBnbWFpbC5jb20%3D" target="_blank" title="http://www.cse.buffalo.edu/~knepley/">https://www.cse.buffalo.edu/~knepley/</a><o:p></o:p></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</blockquote>
</blockquote>
</div>
<p class="MsoNormal"><br clear="all">
<o:p></o:p></p>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<p class="MsoNormal">-- <o:p></o:p></p>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<p class="MsoNormal">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<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><a href="http://www.cse.buffalo.edu/~knepley/" target="_blank">https://www.cse.buffalo.edu/~knepley/</a><o:p></o:p></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>