<div dir="ltr"><div dir="ltr">On Wed, Jun 19, 2019 at 3:49 AM Lawrence Mitchell <<a href="mailto:wence@gmx.li">wence@gmx.li</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>On Wed, 19 Jun 2019 at 08:37, Matthew Knepley via petsc-users <<a href="mailto:petsc-users@mcs.anl.gov" target="_blank">petsc-users@mcs.anl.gov</a>> wrote:<br></div><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">On Mon, Jun 17, 2019 at 9:49 PM Swarnava Ghosh <<a href="mailto:swarnava89@gmail.com" target="_blank">swarnava89@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 Matthew,<div><br></div><div>I am primarily trying to interpolate fields which are defined on vertices. For a process, the point at which the interpolation to be carried out can be in an element that is owned by another process. My initial plan while writing the earlier email was to create local dmplexes in each rank which contains all the elements that are required for interpolation. However on second thoughts, this is too cumbersome.</div></div></blockquote><div><br></div><div>Thanks. This is much clearer to me now.</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>What might be potentially better approach (ofcourse you will be an expert to judge) is to simply extend the ghost region to include the elements of the neighbor processes. In this way the points to interpolate at lie in the ghost region of the process. Is there a way I could extend the ghost region if I know the neighbor ranks?</div></div></blockquote><div><br></div><div>I see at least two cases:</div><div><br></div><div>  1) Only a few points, anywhere in the domain</div><div><br></div><div>      If you have a few points that can be anywhere in the domain, I would use</div><div><br></div><div>        <a href="https://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/SNES/DMInterpolationCreate.html#DMInterpolationCreate" target="_blank">https://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/SNES/DMInterpolationCreate.html#DMInterpolationCreate</a></div></div></div></blockquote><div dir="auto"><br></div><div dir="auto">Does this work in parallel? If I look at the implementation here: <div><a href="https://www.mcs.anl.gov/petsc/petsc-current/src/dm/impls/plex/plexgeometry.c.html#DMLocatePoints_Plex" target="_blank">https://www.mcs.anl.gov/petsc/petsc-current/src/dm/impls/plex/plexgeometry.c.html#DMLocatePoints_Plex</a></div><div dir="auto"><br></div><div dir="auto">It seems it complains unless run on comm_self.</div></div></div></div></blockquote><div><br></div><div>The parallel stuff is shoved into DMInterpolationEvaluate(). I know it is not pretty, but it is a very old part of Plex</div><div>which needs to be rewritten now that more point location stuff is there.</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><div class="gmail_quote"><div dir="auto"><div dir="auto">Cheers, </div><div dir="auto"><br></div><div dir="auto">Lawrence</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 class="gmail_quote"><div></div></div></div></blockquote></div></div>
</blockquote></div><br clear="all"><div><br></div>-- <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>