<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div class="elementToProof"><span style="font-family: "Segoe UI Web (West European)", "Segoe UI", -apple-system, "system-ui", Roboto, "Helvetica Neue", sans-serif; font-size: 12px; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">Pierre</span><span style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">,</span></div>
<div class="elementToProof"><span style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">I just modified the error message of MatProductSymbolic() and added a testing segment
in src/mat/tests/ex195.c. I have not pushed my change yet.</span></div>
<div class="elementToProof"><span style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);"><br>
</span></div>
<div class="elementToProof"><span style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">Your fix
</span><span style="font-family: "Segoe UI Web (West European)", "Segoe UI", -apple-system, "system-ui", Roboto, "Helvetica Neue", sans-serif; font-size: 12px; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255);">at
<a href="https://gitlab.com/petsc/petsc/-/commit/9dcea022de3b0309e5c16b8c554ad9c85dea29cf?merge_request_iid=7283" id="OWA6ac42782-786f-a866-5e9a-cd4b7e0eb6dc" class="OWAAutoLink" data-auth="NotApplicable" style="margin: 0px; background-color: rgb(255, 255, 255); text-align: left;">
https://gitlab.com/petsc/petsc/-/commit/9dcea022de3b0309e5c16b8c554ad9c85dea29cf?merge_request_iid=7283</a></span><span style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);"> is
more general. Has this fix merged to release and main? With latest main and release, I get same previous error message.</span></div>
<div class="elementToProof"><span style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">Hong</span></div>
<div id="appendonsend"></div>
<div style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<hr style="display: inline-block; width: 98%;">
<div id="divRplyFwdMsg" dir="ltr"><span style="font-family: Calibri, sans-serif; font-size: 11pt; color: rgb(0, 0, 0);"><b>From:</b> Pierre Jolivet <pierre@joliv.et><br>
<b>Sent:</b> Sunday, February 11, 2024 7:43 AM<br>
<b>To:</b> Zhang, Hong <hzhang@mcs.anl.gov><br>
<b>Cc:</b> Hana Honnerová <hhornik@kma.zcu.cz>; petsc-users@mcs.anl.gov <petsc-users@mcs.anl.gov><br>
<b>Subject:</b> Re: [petsc-users] question on PCLSC with matrix blocks of type MATNEST</span>
<div> </div>
</div>
<div><span style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);"><br>
</span></div>
<blockquote>
<div><span style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">On 8 Feb 2024, at 5:37 PM, Zhang, Hong via petsc-users <petsc-users@mcs.anl.gov> wrote:</span></div>
<span style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);"><br>
</span>
<div style="text-align: left; text-indent: 0px; font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt;">
<span style="color: rgb(0, 0, 0);">Hana,</span></div>
<div style="text-align: left; text-indent: 0px; font-family: Helvetica; font-size: 12px;">
<span style="font-size: 15px; color: rgb(36, 36, 36); background-color: rgb(255, 255, 255);"><i>"product AB with A nest, B nest"</i></span><span style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);"> is
not supported by PETSc. I do not know why PETSc does not display such an error message. I'll check it.</span></div>
</blockquote>
<div><span style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);"><br>
</span></div>
<div><span style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">Did you?</span></div>
<div><span style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">A naive fix is to simply add the missing PetscCheck() in MatProduct_Private() right after MatProductSetFromOptions()
<a href="https://petsc.org/release/src/mat/interface/matrix.c.html#line10026" id="OWA467be896-3b4a-fcf1-068b-7c8059606479" class="OWAAutoLink" data-auth="NotApplicable">
https://petsc.org/release/src/mat/interface/matrix.c.html#line10026</a> (notice that it is there line 10048 in the other code branch)</span></div>
<div><span style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">I have this at
<a href="https://gitlab.com/petsc/petsc/-/commit/9dcea022de3b0309e5c16b8c554ad9c85dea29cf?merge_request_iid=7283" id="OWAbcb11c46-b85b-58bc-66c0-15ee4452eaf9" class="OWAAutoLink" data-auth="NotApplicable">
https://gitlab.com/petsc/petsc/-/commit/9dcea022de3b0309e5c16b8c554ad9c85dea29cf?merge_request_iid=7283</a> (coupled with code refactoring to avoid missing any other operations), but maybe we could do things more elegantly.</span></div>
<div><span style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);"><br>
</span></div>
<div><span style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">Thanks,</span></div>
<div><span style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">Pierre</span></div>
<span style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);"><br>
</span>
<blockquote>
<div style="text-align: left; text-indent: 0px; font-family: Helvetica; font-size: 12px;">
<span style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">Hong</span></div>
<div id="x_appendonsend" style="font-family:Helvetica; font-size:12px; font-style:normal; font-variant-caps:normal; font-weight:400; letter-spacing:normal; text-align:start; text-indent:0px; text-transform:none; white-space:normal; word-spacing:0px; text-decoration:none">
</div>
<hr style="text-align: left; text-indent: 0px; display: inline-block; width: 792.812px;">
<div id="x_divRplyFwdMsg" dir="ltr" style="font-family:Helvetica; font-size:12px; font-style:normal; font-variant-caps:normal; font-weight:400; letter-spacing:normal; text-align:start; text-indent:0px; text-transform:none; white-space:normal; word-spacing:0px; text-decoration:none">
<span style="font-family: Calibri, sans-serif; font-size: 11pt;"><b>From:</b> petsc-users <petsc-users-bounces@mcs.anl.gov> on behalf of Hana Honnerová <hhornik@kma.zcu.cz><br>
<b>Sent:</b> Thursday, February 8, 2024 4:45 AM<br>
<b>To:</b> petsc-users@mcs.anl.gov <petsc-users@mcs.anl.gov><br>
<b>Subject:</b> [petsc-users] question on PCLSC with matrix blocks of type MATNEST</span>
<div> </div>
</div>
<div style="text-align: left; text-indent: 0px; margin-top: 0px; margin-bottom: 0px;">
<span style="font-family: Helvetica; font-size: 12px; color: rgb(0, 0, 0);">Hi all,</span></div>
<div style="text-align: left; text-indent: 0px; margin-top: 0px; margin-bottom: 0px;">
<span style="font-family: Helvetica; font-size: 12px; color: rgb(0, 0, 0);">I am trying to solve linear systems arising from isogeometric discretization (similar to FEM) of the Navier-Stokes equations in parallel using PETSc. The linear systems are of saddle-point
type, so I would like to use the PCFIELDSPLIT preconditioner with the -pc_fieldsplit_detect_saddle_point option, Schur complement factorization and the LSC Schur complement preconditioner. I do not provide any user-defined operators for PCLSC in my codes (at
least for now).</span></div>
<div style="text-align: left; text-indent: 0px; margin-top: 0px; margin-bottom: 0px;">
<span style="font-family: Helvetica; font-size: 12px; color: rgb(0, 0, 0);">I store the matrix as a MATNEST consisting of 4 blocks (F for velocity-velocity part, Bt for velocity-pressure part, B for pressure-velocity part and NULL for pressure-pressure part).
It is also convenient for me to store the blocks F, Bt and B as another MATNEST consisting of blocks corresponding to individual velocity components. </span></div>
<div style="text-align: left; text-indent: 0px; margin-top: 0px; margin-bottom: 0px;">
<span style="font-family: Helvetica; font-size: 12px; color: rgb(0, 0, 0);"><br>
However, in this setting, I get the following error message:</span></div>
<div style="text-align: left; text-indent: 0px; margin-top: 0px; margin-bottom: 0px;">
<span style="font-family: Helvetica; font-size: 12px; color: rgb(0, 0, 0);"><i>[0]PETSC ERROR: Petsc has generated inconsistent data<br>
[0]PETSC ERROR: Unspecified symbolic phase for product AB with A nest, B nest. Call MatProductSetFromOptions() first<br>
[0]PETSC ERROR: See <a href="https://petsc.org/release/faq/" id="OWA596b45ba-83bd-0021-639d-62eb4bf1bb47" class="x_x_moz-txt-link-freetext OWAAutoLink" data-auth="NotApplicable">
https://petsc.org/release/faq/</a> for trouble shooting.<br>
[0]PETSC ERROR: Petsc Release Version 3.20.4, unknown <br>
[0]PETSC ERROR: /home/hhornik/gismo/build-petsc-mpi/RelWithDebInfo/bin/gsINSSolverPETScTest on a arch-debug named ThinkPad-T14 by hhornik Thu Feb 8 11:04:17 2024<br>
[0]PETSC ERROR: Configure options PETSC_ARCH=arch-debug --with-debugging=1 --download-mumps --download-scalapack<br>
[0]PETSC ERROR: #1 MatProductSymbolic() at /home/hhornik/Software/PETSc/src/mat/interface/matproduct.c:807<br>
[0]PETSC ERROR: #2 MatProduct_Private() at /home/hhornik/Software/PETSc/src/mat/interface/matrix.c:10027<br>
[0]PETSC ERROR: #3 MatMatMult() at /home/hhornik/Software/PETSc/src/mat/interface/matrix.c:10103<br>
[0]PETSC ERROR: #4 PCSetUp_LSC() at /home/hhornik/Software/PETSc/src/ksp/pc/impls/lsc/lsc.c:79<br>
[0]PETSC ERROR: #5 PCSetUp() at /home/hhornik/Software/PETSc/src/ksp/pc/interface/precon.c:1080<br>
[0]PETSC ERROR: #6 KSPSetUp() at /home/hhornik/Software/PETSc/src/ksp/ksp/interface/itfunc.c:415<br>
[0]PETSC ERROR: #7 KSPSolve_Private() at /home/hhornik/Software/PETSc/src/ksp/ksp/interface/itfunc.c:832<br>
[0]PETSC ERROR: #8 KSPSolve() at /home/hhornik/Software/PETSc/src/ksp/ksp/interface/itfunc.c:1079<br>
[0]PETSC ERROR: #9 PCApply_FieldSplit_Schur() at /home/hhornik/Software/PETSc/src/ksp/pc/impls/fieldsplit/fieldsplit.c:1165<br>
[0]PETSC ERROR: #10 PCApply() at /home/hhornik/Software/PETSc/src/ksp/pc/interface/precon.c:498<br>
[0]PETSC ERROR: #11 KSP_PCApply() at /home/hhornik/Software/PETSc/include/petsc/private/kspimpl.h:383<br>
[0]PETSC ERROR: #12 KSPFGMRESCycle() at /home/hhornik/Software/PETSc/src/ksp/ksp/impls/gmres/fgmres/fgmres.c:123<br>
[0]PETSC ERROR: #13 KSPSolve_FGMRES() at /home/hhornik/Software/PETSc/src/ksp/ksp/impls/gmres/fgmres/fgmres.c:235<br>
[0]PETSC ERROR: #14 KSPSolve_Private() at /home/hhornik/Software/PETSc/src/ksp/ksp/interface/itfunc.c:906<br>
[0]PETSC ERROR: #15 KSPSolve() at /home/hhornik/Software/PETSc/src/ksp/ksp/interface/itfunc.c:1079<br>
[0]PETSC ERROR: #16 applySolver() at /home/hhornik/gismo/optional/gsIncompressibleFlow/src/gsINSSolver.hpp:531</i></span></div>
<div style="text-align: left; text-indent: 0px; margin-top: 0px; margin-bottom: 0px;">
<span style="font-family: Helvetica; font-size: 12px; color: rgb(0, 0, 0);"><i><br>
</i>I could not find any solution for this so far. My question is: Is it possible to use the LSC preconditioner in such case, where the matrix blocks are of type MATNEST? And if so, how?</span></div>
<div style="text-align: left; text-indent: 0px; margin-top: 0px; margin-bottom: 0px;">
<span style="font-family: Helvetica; font-size: 12px; color: rgb(0, 0, 0);">Thank you,<br>
Hana Honnerova</span></div>
</blockquote>
<span style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);"><br>
</span>
</body>
</html>