<div dir="ltr"><div dir="ltr">On Mon, Oct 21, 2024 at 12:22 PM Matteo Semplice via petsc-users <<a href="mailto:petsc-users@mcs.anl.gov">petsc-users@mcs.anl.gov</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"><u></u>

  
  <div>
    <p>Dear petsc-users,<br>
    </p>
    <p>    I am having issues with output of parallel data attached to a
      DMPlex (or maybe more fundamental ones about DMPlex...).</p>
    <p>So I currently</p>
    <ol>
      <li>create a DMPlex (DMPlexCreateGmshFromFile or
        DMPlexCreateBoxMesh)</li>
      <li>partition it</li>
      <li>and create a section for my data layout with
        DMPlexCreateSection(ctx.dmMesh, NULL, numComp, numDof, numBC,
        NULL, NULL, NULL, NULL, &sUavg)</li>
      <li>DMSetLocalSection(ctx.dmMesh, sUavg)</li>
      <li>create solLoc and solGlob vectors with DMCreateGlobalVector
        and DMCreateLocalVector</li>
      <li>solve ....</li>
      <li>VecView(ctx.solGlob, vtkViewer) on a .vtu file<br>
      </li>
    </ol>
    <p>but when I load data in ParaView I get more cells than expected
      and it is as if the cells in the halo are put twice in output. (I
      could create a MWE if the above is not clear)<br>
    </p>
    <p></p></div></blockquote><div>I think we need an MWE here, because from the explanation above, it should work.</div><div><br></div><div>However, I can try to guess the problem. When you partition the mesh, I am guessing that you have cells in the overlap. These cells</div><div>must be in the point SF in order for the global section to give them a unique owner. Perhaps something has gone wrong here.</div><div><br></div><div>  Thanks,</div><div><br></div><div>     Matt </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div><p>I guess that the culprit is point (4), but if I replace it with
      DMSetGlobalSection then I cannot create the local vector at point
      (5).<br>
    </p>
    <p>How should I handle this properly? In my code I need to create
      both local and global vectors, to perform at least GlobalToLocal
      and to save the global data.<br>
    </p>
    <p>(On a side note, I tried also HDF5 but then it complains about
      the DM not having a DS...; really, any working solution that
      allows data to be explored with Paraview is fine)<br>
    </p>
    <p>Thanks for any advice!<br>
    </p>
    <p>Matteo Semplice</p>
  </div>

</blockquote></div><br clear="all"><div><br></div><span class="gmail_signature_prefix">-- </span><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="https://urldefense.us/v3/__http://www.cse.buffalo.edu/*knepley/__;fg!!G_uCfscf7eWS!dyUl2snizAM-nnjAz0JsZ-BQgR8C9AVaDc6IMX6AAMGg4BCq5vOHECpDJvryh20xQRl6SKI_KLzhXs4Z9aPI$" target="_blank">https://www.cse.buffalo.edu/~knepley/</a><br></div></div></div></div></div></div></div></div>