<div dir="ltr"><div dir="ltr">On Thu, Dec 8, 2022 at 6:06 PM Hongrui Yu <<a href="mailto:yuhongrui@utexas.edu">yuhongrui@utexas.edu</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 class="msg4321083626976840116"><div lang="EN-US" style="overflow-wrap: break-word;"><div class="m_4321083626976840116WordSection1"><p class="MsoNormal">Hello! I’m trying to adapt a serial Finite Element code using PETSc. In this code it reads in special stiffness terms between the boundary DoFs from an input file, and add them to corresponding locations in the global Jacobian matrix.</p></div></div></div></blockquote><div><br></div><div>Hmm, so in completely general locations, or on the diagonal?</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="msg4321083626976840116"><div lang="EN-US" style="overflow-wrap: break-word;"><div class="m_4321083626976840116WordSection1"><p class="MsoNormal"> I currently use a DM Plex object to store the mesh information. My understanding is that once the DM is distributed its points are renumbered across different ranks.</p></div></div></div></blockquote><div><br></div><div>That is true.</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="msg4321083626976840116"><div lang="EN-US" style="overflow-wrap: break-word;"><div class="m_4321083626976840116WordSection1"><p class="MsoNormal"> I wonder if there is a good way to find the corresponding entries that needs to be modified in the global Jacobian matrix? <u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">For Vectors I’m currently creating a Natural Vector and simply do DMPlexNaturalToGlobal. Is there a way to create a “Natural Mat” just like “Natural Vector” and then do some sort of NaturalToGlobal for this Mat? <u></u><u></u></p><p class="MsoNormal"><u></u> <u></u></p><p class="MsoNormal">Any help would be highly appreciated!</p></div></div></div></blockquote><div><br></div><div>If it is completely general, this will take some coding.</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="msg4321083626976840116"><div lang="EN-US" style="overflow-wrap: break-word;"><div class="m_4321083626976840116WordSection1"><p class="MsoNormal">Kevin<u></u><u></u></p></div></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>