<div dir="ltr"><div dir="ltr">On Mon, Apr 4, 2022 at 3:36 PM Berend van Wachem <<a href="mailto:berend.vanwachem@ovgu.de">berend.vanwachem@ovgu.de</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Dear Petsc team,<br>
<br>
Since about 2 years we have been using Petsc with DMPlex, but since <br>
upgrading our code to Petsc-3.17.0 something has broken.<br>
<br>
First we generate a DM from a DMPlex with  DMPlexCreateFromFile or <br>
creating one with DMPlexCreateBoxMesh. Then the DM is distributed with <br>
DMPlexDistribute. This DM works fine and we set a numer of fields and <br>
set a section to it.<br>
However, on the same mesh we also want to solve a problem with a <br>
different number of fields, and therefore we create a clone of this <br>
original DM, using the code:<br>
<br>
DMClone(OriginalDM, NewDM);<br>
DMClearDS(*NewDM);<br>
PetscCalloc2(1, &NumComp, 4, &NumDof);<br>
NumComp[0] = 1;<br>
NumDof[3] = NFields;<br>
DMSetNumFields(*NewDM, 1);<br>
DMSetFromOptions(*NewDM);<br>
DMPlexCreateSection(*NewDM, NULL, NumComp, NumDof, 0, NULL, NULL, NULL, <br>
NULL, &section);<br>
DMSetLocalSection(*NewDM, section);<br>
PetscFree2(NumComp, NumDof);<br>
PetscSectionDestroy(&section);<br>
<br>
However, with Petsc-3.17.0, the *NewDM is corrupt - When I call <br>
DMGlobalToLocalBegin with a Global and Local vector created with this <br>
NewDM, the code crashes. Indeed, the cloned DM seems to be partitioned <br>
differently than the original DM, as it these two DMs have a different <br>
number of local cells.<br></blockquote><div><br></div><div>The cloned DM will have exactly the same topology and distribution. This must be a misinterpretation</div><div>of what is happening. We can do a few things:</div><div><br></div><div>1) Make a small example to show what you are talking about</div><div><br></div><div>2) Look at a PETSc example that does something similar</div><div><br></div><div>3) Look directly at your code if I can somehow run it here</div><div><br></div><div>4) Start doing diagnostics on your code to see what is going on</div><div><br></div><div>Which one do you prefer?</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
This worked fine in Petsc releases before 3.17 (e.g. 3.16.5). So my <br>
question is: what has changed? Am I doing something wrong, which should <br>
be changed for using with Petsc-3.17?<br></blockquote><div><br></div><div>I don't think any of this should have changed, so this should be something simple.</div><div><br></div><div>  Thanks,</div><div><br></div><div>     Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Thanks, best regards,<br>
<br>
Berend.<br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div>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</div><div><br></div><div><a href="http://www.cse.buffalo.edu/~knepley/" target="_blank">https://www.cse.buffalo.edu/~knepley/</a><br></div></div></div></div></div></div></div></div>