<div dir="ltr">Thanks, I'll check it out. <br><div><br></div><div>Yuan</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">2021年11月28日(日) 1:17 Barry Smith <<a href="mailto:bsmith@petsc.dev">bsmith@petsc.dev</a>>:<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 style="overflow-wrap: break-word;"><div><br></div><a href="https://gitlab.com/petsc/petsc/-/merge_requests/4542/diffs?commit_id=252cf7895bb78ed4e3a2388b4d15d1e7905925a9" target="_blank">https://gitlab.com/petsc/petsc/-/merge_requests/4542/diffs?commit_id=252cf7895bb78ed4e3a2388b4d15d1e7905925a9</a><div><br></div><div>If you use the option <span style="color:rgb(48,48,48);font-family:Menlo,"DejaVu Sans Mono","Liberation Mono",Consolas,"Ubuntu Mono","Courier New","andale mono","lucida console",monospace;font-size:12.6px;white-space:break-spaces;background-color:rgb(236,253,240)">-dm_plex_use_vec_ghost_permutation then ghost values will be put at the end of the local vector. Note this is work in progress so will have rough edges.</span></div><div><br><div><br><blockquote type="cite"><div>On Nov 27, 2021, at 10:54 AM, 袁煕 <<a href="mailto:yuanxi@advancesoft.jp" target="_blank">yuanxi@advancesoft.jp</a>> wrote:</div><br><div><div dir="ltr">Great! It is of much help to me. But I am not sure how to use it. Does it mean ghost vertices are put at the end of the local vector automatically after calling DMPlexDistribute? Or additional function calling or setting is needed?<div><br></div><div>Yuan</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">2021年11月27日(土) 0:34 Barry Smith <<a href="mailto:bsmith@petsc.dev" target="_blank">bsmith@petsc.dev</a>>:<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><div><br></div> Actually, with DMPLEX the ghost vertices are not at the end of the local vector, they can be anywhere within the list. <div><br></div><div> But I have a work-in-progress branch <a href="https://gitlab.com/petsc/petsc/-/merge_requests/4542" target="_blank">https://gitlab.com/petsc/petsc/-/merge_requests/4542</a> that labels the ghost locations and moves them to the end. You are welcome to try it.</div><div><br></div><div> Barry</div><div><br><div><br><blockquote type="cite"><div>On Nov 26, 2021, at 8:16 AM, Mark Adams <<a href="mailto:mfadams@lbl.gov" target="_blank">mfadams@lbl.gov</a>> wrote:</div><br><div><div dir="ltr">First, ghost vertices only show up in "local" (vs "global") vectors and the ghost values are ordered after the locally owned ones.<div>Others might have more to add.</div><div>Mark<br><div><br></div></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Nov 26, 2021 at 12:49 AM 袁煕 <<a href="mailto:yuanxi@advancesoft.jp" target="_blank">yuanxi@advancesoft.jp</a>> wrote:<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">Dear PETSc-team,<div><br></div><div>When the mesh is distributed, the vertices are renumbered and some vertices are shared by neighboring CPUs. My question is:<br></div><div><br></div><div>1. How to check which vertice is a ghost one?</div><div>2. Are those ghost vertices always at the end of vertices list? If not</div><div>3. Are there simple ways to let those ghost vertices come after owned ones?</div><div><br></div><div>Many thanks</div><div><br></div><div>Yuan</div></div>
</blockquote></div>
</div></blockquote></div><br></div></div></blockquote></div>
</div></blockquote></div><br></div></div></blockquote></div>