<div dir="ltr"><div dir="ltr">On Mon, Jun 14, 2021 at 11:34 PM Adrian Croucher <<a href="mailto:a.croucher@auckland.ac.nz">a.croucher@auckland.ac.nz</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>
<p>hi<br>
</p>
<div>On 15/06/21 12:21 pm, Matthew Knepley
wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div class="gmail_quote"><br>
<div>I admit that it is becoming complicated, but this can
also be handled.</div>
<div><br>
</div>
<div>The corner case only shows up when we distribute with
overlap. Thus we could,</div>
<div><br>
</div>
<div>1) Distribute the mesh without overlap</div>
<div><br>
</div>
<div>2) Mark the global boundary using the former algorithm</div>
<div><br>
</div>
<div>3) Distribute overlap = 1 using
DMPlexDistributeOverlap(). DMPlexDistribute() just does
these two steps at once if you ask for overlap.</div>
<div><br>
</div>
<div>4) Use the former algorithm, with the boundary label we
just made, to mark flux faces.</div>
</div>
</div>
</blockquote>
<p>That sounds like it might work. Do you think this perhaps
slightly simpler version might also work?</p>
<p>1) distribute mesh without overlap</p>
<p>2) label boundary faces using DMPlexMarkBoundaryFaces()</p>
<p>3) DMPlexDistributeOverlap()</p>
<p>4) Un-label boundary faces with support size > 1 (i.e. the
shared faces on the non-overlapped mesh- I think) - so the
boundary label is now just the global boundary<br>
</p>
<p>5) loop over faces as in my original algorithm, labelling flux
faces if they are either on the open boundary, or are not on the
global boundary</p>
<p>Unfortunately I can't test this at the moment - it looks like the
Fortran interface for DMPlexDistributeOverlap() is missing?</p></div></blockquote><div>Yes, that does sound simpler. I will get the Fotran interface up today. I did not use the automatic version since we need to check for NULL.</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>
<p>- Adrian<br>
</p>
--
<pre cols="72">Dr Adrian Croucher
Senior Research Fellow
Department of Engineering Science
University of Auckland, New Zealand
email: <a href="mailto:a.croucher@auckland.ac.nz" target="_blank">a.croucher@auckland.ac.nz</a>
tel: +64 (0)9 923 4611</pre>
</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>