<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div class=""><br class=""></div><a href="https://gitlab.com/petsc/petsc/-/merge_requests/4542/diffs?commit_id=252cf7895bb78ed4e3a2388b4d15d1e7905925a9" class="">https://gitlab.com/petsc/petsc/-/merge_requests/4542/diffs?commit_id=252cf7895bb78ed4e3a2388b4d15d1e7905925a9</a><div class=""><br class=""></div><div class="">If you use the option <span style="caret-color: rgb(48, 48, 48); 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.600000381469727px; white-space: break-spaces; background-color: rgb(236, 253, 240);" class="">-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 class=""><br class=""><div><br class=""><blockquote type="cite" class=""><div class="">On Nov 27, 2021, at 10:54 AM, 袁煕 <<a href="mailto:yuanxi@advancesoft.jp" class="">yuanxi@advancesoft.jp</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class="">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 class=""><br class=""></div><div class="">Yuan</div></div><br class=""><div class="gmail_quote"><div dir="ltr" class="gmail_attr">2021年11月27日(土) 0:34 Barry Smith <<a href="mailto:bsmith@petsc.dev" class="">bsmith@petsc.dev</a>>:<br class=""></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;" class=""><div class=""><br class=""></div>   Actually, with DMPLEX the ghost vertices are not at the end of the local vector, they can be anywhere within the list. <div class=""><br class=""></div><div class="">   But I have a work-in-progress branch <a href="https://gitlab.com/petsc/petsc/-/merge_requests/4542" target="_blank" class="">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 class=""><br class=""></div><div class="">  Barry</div><div class=""><br class=""><div class=""><br class=""><blockquote type="cite" class=""><div class="">On Nov 26, 2021, at 8:16 AM, Mark Adams <<a href="mailto:mfadams@lbl.gov" target="_blank" class="">mfadams@lbl.gov</a>> wrote:</div><br class=""><div class=""><div dir="ltr" class="">First, ghost vertices only show up in "local" (vs "global") vectors and the ghost values are ordered after the locally owned ones.<div class="">Others might have more to add.</div><div class="">Mark<br class=""><div class=""><br class=""></div></div></div><br class=""><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" class="">yuanxi@advancesoft.jp</a>> wrote:<br class=""></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" class="">Dear PETSc-team,<div class=""><br class=""></div><div class="">When the mesh is distributed, the vertices are renumbered and some vertices are shared by neighboring CPUs. My question is:<br class=""></div><div class=""><br class=""></div><div class="">1. How to check which vertice is a ghost one?</div><div class="">2. Are those ghost vertices always at the end of vertices list? If not</div><div class="">3. Are there simple ways to let those ghost vertices come after owned ones?</div><div class=""><br class=""></div><div class="">Many thanks</div><div class=""><br class=""></div><div class="">Yuan</div></div>
</blockquote></div>
</div></blockquote></div><br class=""></div></div></blockquote></div>
</div></blockquote></div><br class=""></div></body></html>