<!DOCTYPE html>
<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Hi all,</p>
    <p>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). </p>
    <p>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. <br>
    </p>
    <p><br>
      However, in this setting, I get the following error message:<br>
    </p>
    <p><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 class="moz-txt-link-freetext" href="https://petsc.org/release/faq/">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></p>
    <p><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?</p>
    <p>Thank you,<br>
      Hana Honnerova<br>
    </p>
  </body>
</html>