<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">Hi Matt, </div><div dir="ltr"><br clear="all"><div><div dir="ltr" class="gmail_signature"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div><div><div><div><div>OK so I tried to replicate the problem starting from one of the tests in PETSc repo.</div></div></div></div></div><div>I found <a href="https://gitlab.com/petsc/petsc/-/blob/master/src/dm/impls/plex/tests/ex20.c">https://gitlab.com/petsc/petsc/-/blob/master/src/dm/impls/plex/tests/ex20.c</a> that actually uses DMAdaptLabel.</div><div>Just add </div><div><br></div><div><pre width="80"><font color="#000000">{
 </font><a href="https://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/DM/DM.html#DM" style="color:rgb(0,0,0)">DM</a><font color="#000000"> gdm;

</font> <a href="https://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/DMPLEX/DMPlexConstructGhostCells.html#DMPlexConstructGhostCells" style="color:rgb(0,0,0)">DMPlexConstructGhostCells</a><font color="#000000">(dm, NULL, NULL, &gdm);
</font><font color="#000000"> </font><a href="https://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/DM/DMDestroy.html#DMDestroy" style="color:rgb(0,0,0)">DMDestroy</a><font color="#000000">(&dm);</font></pre><pre width="80"> dm   = gdm;</pre><pre width="80">}</pre><pre width="80"><font face="Arial, Helvetica, sans-serif">after line 24 where the box mesh is generated. Then compile and run with ex20 -dim 2.
</font><font face="arial, sans-serif">It should tell you that Triangle 18 has an invalid vertex index.
That's the minimal example that I found that replicates the problem.</font></pre><pre width="80"><font face="arial, sans-serif">Regarding the serial character of the technique, I tried with a distributed mesh and it works.</font></pre><pre width="80"><font face="arial, sans-serif">So do you mean that intrinsically it gathers all the cells on the master proc before proceeding to the coarsening & refinement and only then broadcast the info back to the other processors ?</font></pre><pre width="80"><font face="arial, sans-serif">Thanks, </font></pre><pre width="80"><font face="arial, sans-serif">Thibault</font></pre></div></div></div></div></div></div></div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Le lun. 31 août 2020 à 12:55, Matthew Knepley <<a href="mailto:knepley@gmail.com">knepley@gmail.com</a>> a écrit :<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr">On Mon, Aug 31, 2020 at 5:34 AM Thibault Bridel-Bertomeu <<a href="mailto:thibault.bridelbertomeu@gmail.com" target="_blank">thibault.bridelbertomeu@gmail.com</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"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">Dear all, <div><br></div><div>I have recently been playing around with the AMR capabilities embedded in PETSc for quad meshes using p4est. Based on the TS tutorial ex11, I was able to incorporate the AMR into a pre-existing code with different metrics for the adaptation process.</div><div>Now I would like to do something similar using tri meshes. I read that compiling PETSc with Triangle (in 2D and Tetgen for 3D) gives access to refinement and coarsening capabilities on triangular meshes.When I try to execute the code with a triangular mesh (that i manipulate as a DMPLEX), it yields "Triangle 1700 has an invalid vertex index" when trying to adapt the mesh (the initial mesh indeed has 1700 cells). From what i could tell, it comes from the reconstruct method called by the triangulate method of triangle.c, the latter being called by either <strong style="color:rgb(0,0,0)"><font color="#4169E1">DMPlexGenerate_Triangle </font></strong>or <strong style="color:rgb(0,0,0)"><font color="#4169E1">DMPlexRefine_Triangle </font></strong>in PETSc, I cannot be sure. </div><div><br></div><div>In substance, the code is the same as in ex11.c and the crash occurs in the first adaptation pass, i.e. an equivalent in ex11 is that it crashes after the SetInitialCondition in the first if (useAMR) located line 1835 when it calls adaptToleranceFVM (which I copied basically so the code is the same).</div><div><br></div><div>Is the automatic mesh refinement feature on tri meshes supposed to work or am I trying something that has not been completed yet ?</div></div></div></div></div></div></blockquote><div><br></div><div>It is supposed to work, and does for some tests in the library. I stopped using it because it is inherently serial and it is isotropic. However, it should be fixed.</div><div>Is there something I can run to help me track down the problem?</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"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div>Thank you very much for your help, as always.</div><div><br clear="all"><div><div dir="ltr"><div dir="ltr"><div><div dir="ltr"><div dir="ltr"><div><div><div><div><div>Thibault Bridel-Bertomeu<br>—<br></div></div></div></div>Eng, MSc, PhD</div><div>Research Engineer</div><div>CEA/CESTA</div><div>33114 LE BARP</div><div>Tel.: (+33)557046924</div><div>Mob.: (+33)611025322<br></div><div>Mail: <a href="mailto:thibault.bridelbertomeu@gmail.com" target="_blank">thibault.bridelbertomeu@gmail.com</a><br></div></div></div></div></div></div></div></div></div></div></div></div></div>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr"><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>
</blockquote></div></div></div></div></div>