<div dir="ltr"><div dir="ltr">On Sun, Jun 18, 2023 at 2:21 PM YuSh Lo <<a href="mailto:ysjosh.lo@gmail.com">ysjosh.lo@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">Hi Matthew,<div><br></div><div>Yes, I have called DMPlexDistribute(). </div><div><br></div><div>so what I do is: </div><div><br></div><div>CALL DMSetUseNatural(serialDM, PETSC_TRUE, errorCode)</div><div>CALL DMPlexDistribute(serialDM, 0, migrationSF, distributedDM, errorCode)</div><div>CALL DMPlexGetGlobalToNaturalSF(serialDM, naturalSF, errorCode)</div><div>CALL PetscSFView(naturalSF, PETSC_VIEWER_STDOUT_WORLD, errorCode)</div><div><br></div><div>The naturalSF is null.</div></div></div></blockquote><div><br></div><div>You can see here:</div><div><br></div><div>  <a href="https://gitlab.com/petsc/petsc/-/blob/main/src/dm/impls/plex/plexdistribute.c#L1836">https://gitlab.com/petsc/petsc/-/blob/main/src/dm/impls/plex/plexdistribute.c#L1836</a></div><div><br></div><div>that the natural SF is created when you distribute. Are you running in serial?</div><div><br></div><div>  <a href="https://gitlab.com/petsc/petsc/-/blob/main/src/dm/impls/plex/plexdistribute.c#L1715">https://gitlab.com/petsc/petsc/-/blob/main/src/dm/impls/plex/plexdistribute.c#L1715</a></div><div><br></div><div>No SF is created in serial because we do not reorder unless distributing.</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>Thanks,</div><div>Josh</div><div><br></div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Matthew Knepley <<a href="mailto:knepley@gmail.com" target="_blank">knepley@gmail.com</a>> 於 2023年6月18日 週日 上午7:42寫道:<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 Sun, Jun 18, 2023 at 2:12 AM YuSh Lo <<a href="mailto:ysjosh.lo@gmail.com" target="_blank">ysjosh.lo@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">I am getting a null PetscSF after calling DMPlexGetGlobalToNatural</div></blockquote><div><br></div><div>Did you call DMDIstribute()? This is where the map is created because until then, the map is identity.</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 class="gmail_quote"><div dir="ltr" class="gmail_attr">YuSh Lo <<a href="mailto:ysjosh.lo@gmail.com" target="_blank">ysjosh.lo@gmail.com</a>> 於 2023年6月18日 週日 上午12:18寫道:<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">Hi Matthew,<div><br></div><div>After setting DMSetUseNatural to true and calling DMPlexGetGlobalToNatural,</div><div>I call PestcSFView right away, it gives segmentation fault. </div><div>I have also tried DMGetNaturalSF, it also gives segmentation fault when calling PetscSFView.</div><div>I use PETSC_VIEWER_STDOUT_WORLD as PetscViewer</div><div><br></div><div>Thanks,</div><div>Josh</div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Matthew Knepley <<a href="mailto:knepley@gmail.com" target="_blank">knepley@gmail.com</a>> 於 2023年6月9日 週五 下午1:04寫道:<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 Fri, Jun 9, 2023 at 1:46 PM YuSh Lo <<a href="mailto:ysjosh.lo@gmail.com" target="_blank">ysjosh.lo@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">Hi Barry,<div><br></div><div>Is there any way to use the mapping generated by DMPlexDistribute along with AO?</div></div></blockquote><div><br></div><div>For Plex, if you turn on</div><div><br></div><div>  <a href="https://petsc.org/main/manualpages/DM/DMSetUseNatural/" target="_blank">https://petsc.org/main/manualpages/DM/DMSetUseNatural/</a></div><div><br></div><div>before DMPlexDistribute(), it will compute and store a GlobalToNatural map. This can be</div><div>used to map vectors back and forth, but you can extract the SF</div><div><br></div><div>  <a href="https://petsc.org/main/manualpages/DMPlex/DMPlexGetGlobalToNaturalSF/" target="_blank">DMPlexGetGlobalToNaturalSF</a><span style="color:rgb(178,34,34)"></span></div><div><br></div><div>and use that to remap your IS, by extracting the indices.</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>Thanks,</div><div>Josh</div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Barry Smith <<a href="mailto:bsmith@petsc.dev" target="_blank">bsmith@petsc.dev</a>> 於 2023年6月9日 週五 上午10:42寫道:<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>  You might be looking for <a href="https://petsc.org/release/manualpages/AO/AO/#ao" target="_blank">https://petsc.org/release/manualpages/AO/AO/#ao</a><div><br><div><br><blockquote type="cite"><div>On Jun 9, 2023, at 11:02 AM, Mark Adams <<a href="mailto:mfadams@lbl.gov" target="_blank">mfadams@lbl.gov</a>> wrote:</div><br><div><div dir="ltr">An IS is just an array of integers. We need your context.<div>Is this question for sparse matrices? If so look at the documentation on the AIJ matrix construction and the global vertex numbering system.</div><div><br></div><div>Mark</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Jun 8, 2023 at 1:15 PM YuSh Lo <<a href="mailto:ysjosh.lo@gmail.com" target="_blank">ysjosh.lo@gmail.com</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">Hi,<div><br></div><div>I have an IS that contains some vertex that is in natural numbering. How do I map them to global numbering without being distributed?</div><div><br></div><div>Thanks,</div><div>Josh</div></div>
</blockquote></div>
</div></blockquote></div><br></div></div></blockquote></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="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>
</blockquote></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="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>
</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="http://www.cse.buffalo.edu/~knepley/" target="_blank">https://www.cse.buffalo.edu/~knepley/</a><br></div></div></div></div></div></div></div></div>