<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)">
<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:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
span.EmailStyle19
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 70.85pt 70.85pt 70.85pt;}
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" style="word-wrap:break-word">
<div class="WordSection1">
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<div>
<p class="MsoNormal">Hi,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I'm trying to run an iterative solver (FGMRES for example) with PCMG as preconditioner. The setup of PCMG<o:p></o:p></p>
<p class="MsoNormal">is done roughly as in ex42 of the PETSc-tutorials (<a href="https://petsc.org/main/src/ksp/ksp/tutorials/ex42.c.html">https://petsc.org/main/src/ksp/ksp/tutorials/ex42.c.html</a>).<o:p></o:p></p>
<p class="MsoNormal">Since I have many locked  degrees-of-freedom I would like to use PCREDISTRIBUTE. However, this<o:p></o:p></p>
<p class="MsoNormal">results in (30039 is the number of DOFs after redistribute and 55539 the number before):<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">[0]PETSC ERROR: --------------------- Error Message --------------------------------------------------------------<o:p></o:p></p>
<p class="MsoNormal">[0]PETSC ERROR: Nonconforming object sizes<o:p></o:p></p>
<p class="MsoNormal">[0]PETSC ERROR: Matrix dimensions of A and P are incompatible for MatProductType PtAP: A 30039x30039, P 55539x7803<o:p></o:p></p>
<p class="MsoNormal">[0]PETSC ERROR: See <a href="https://petsc.org/release/faq/">
https://petsc.org/release/faq/</a> for trouble shooting.<o:p></o:p></p>
<p class="MsoNormal">[0]PETSC ERROR: Petsc Development GIT revision: v3.19.0-238-g512d1ae6db4  GIT Date: 2023-04-24 16:37:00 +0200<o:p></o:p></p>
<p class="MsoNormal">[0]PETSC ERROR: topopt on a arch-linux-c-opt Fri Jun 30 13:28:41 2023<o:p></o:p></p>
<p class="MsoNormal">[0]PETSC ERROR: Configure options COPTFLAGS="-O3 -march=native" CXXOPTFLAGS="-O3 -march=native" FOPTFLAGS="-O3 -march=native" CUDAOPTFLAGS=-O3 --with-cuda --with-cusp --with-debugging=0 --download-scalapack --download-hdf5 --download-zlib
 --download-mumps --download-parmetis --download-metis --download-ptscotch --download-hypre --download-spai<o:p></o:p></p>
<p class="MsoNormal">[0]PETSC ERROR: #1 MatProductSetFromOptions_Private() at /mnt/c/mathware/petsc/src/mat/interface/matproduct.c:420<o:p></o:p></p>
<p class="MsoNormal">[0]PETSC ERROR: #2 MatProductSetFromOptions() at /mnt/c/mathware/petsc/src/mat/interface/matproduct.c:541<o:p></o:p></p>
<p class="MsoNormal">[0]PETSC ERROR: #3 MatPtAP() at /mnt/c/mathware/petsc/src/mat/interface/matrix.c:9868<o:p></o:p></p>
<p class="MsoNormal">[0]PETSC ERROR: #4 MatGalerkin() at /mnt/c/mathware/petsc/src/mat/interface/matrix.c:10899<o:p></o:p></p>
<p class="MsoNormal">[0]PETSC ERROR: #5 PCSetUp_MG() at /mnt/c/mathware/petsc/src/ksp/pc/impls/mg/mg.c:1029<o:p></o:p></p>
<p class="MsoNormal">[0]PETSC ERROR: #6 PCSetUp() at /mnt/c/mathware/petsc/src/ksp/pc/interface/precon.c:994<o:p></o:p></p>
<p class="MsoNormal">[0]PETSC ERROR: #7 KSPSetUp() at /mnt/c/mathware/petsc/src/ksp/ksp/interface/itfunc.c:406<o:p></o:p></p>
<p class="MsoNormal">[0]PETSC ERROR: #8 PCSetUp_Redistribute() at /mnt/c/mathware/petsc/src/ksp/pc/impls/redistribute/redistribute.c:327<o:p></o:p></p>
<p class="MsoNormal">[0]PETSC ERROR: #9 PCSetUp() at /mnt/c/mathware/petsc/src/ksp/pc/interface/precon.c:994<o:p></o:p></p>
<p class="MsoNormal">[0]PETSC ERROR: #10 KSPSetUp() at /mnt/c/mathware/petsc/src/ksp/ksp/interface/itfunc.c:406<o:p></o:p></p>
<p class="MsoNormal">[0]PETSC ERROR: #11 KSPSolve_Private() at /mnt/c/mathware/petsc/src/ksp/ksp/interface/itfunc.c:824<o:p></o:p></p>
<p class="MsoNormal">[0]PETSC ERROR: #12 KSPSolve() at /mnt/c/mathware/petsc/src/ksp/ksp/interface/itfunc.c:1070<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">It’s clear what happens I think, and it kind of make since not all levels are redistributed as they should (?).<o:p></o:p></p>
<p class="MsoNormal">Is it possible to use PCMG with PCREDISTRIBUTE in an easy way?<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Kind regards,<o:p></o:p></p>
<p class="MsoNormal">Carl-Johan<o:p></o:p></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>