<html>
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
<p>hi Matt,<br>
</p>
<br>
<div class="moz-cite-prefix">On 27/01/17 03:04, Matthew Knepley
wrote:<br>
</div>
<blockquote
cite="mid:CAMYG4GmwXpCindhz775S0Fy98ZECJWYLEwiuH3iK_tDgtB9_sw@mail.gmail.com"
type="cite">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<div dir="ltr">
<div class="gmail_extra">
<div class="gmail_quote">On Wed, Jan 25, 2017 at 11:12 PM,
Adrian Croucher <span dir="ltr"><<a
moz-do-not-send="true"
href="mailto:a.croucher@auckland.ac.nz" target="_blank">a.croucher@auckland.ac.nz</a>></span>
wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex">
<div bgcolor="#FFFFFF">
<p>hi Matt,</p>
<p>A couple of years ago we discussed adding support for
6-node wedge cells in DMPlex- the hurdle being that at
present DMPlex doesn't support cells with faces of
different shapes (see below)- and you said it could be
done, if and when I needed it.<br>
</p>
<p>People are starting to want to use my code on real
models now, many of which have 6-node wedge cells. So
it would be very handy to have support for those in
DMPlex fairly soon if possible.</p>
<p>Any chance you would be able to take a look at it? In
principle I would be happy to help if I can. I have
started looking at plexinterpolate.c to try and see
how it works, but at this stage I'm not at all
confident that I understand the subtleties.</p>
</div>
</blockquote>
<div>Okay. First I need to understand exactly what shape we
want to handle. Can you draw it or explain precisely?</div>
</div>
</div>
</div>
</blockquote>
<br>
I've attached a picture, with a list of how the edges and faces are
composed (not sure if the ordering is what you would prefer or not).<br>
<br>
<blockquote
cite="mid:CAMYG4GmwXpCindhz775S0Fy98ZECJWYLEwiuH3iK_tDgtB9_sw@mail.gmail.com"
type="cite">
<div dir="ltr">
<div class="gmail_extra">
<div class="gmail_quote">
<div><br>
</div>
<div>Second, we need to prescribe a total order on the
vertices for a wedge, and then a set of faces as ordered
arrays of vertices.</div>
<div>That information goes here:</div>
<div><br>
</div>
<div> <a moz-do-not-send="true"
href="https://bitbucket.org/petsc/petsc/src/e8e596daf24561903cea0839b7b68a432a6283e4/src/dm/impls/plex/plexinterpolate.c?at=master&fileviewer=file-view-default#plexinterpolate.c-37">https://bitbucket.org/petsc/petsc/src/e8e596daf24561903cea0839b7b68a432a6283e4/src/dm/impls/plex/plexinterpolate.c?at=master&fileviewer=file-view-default#plexinterpolate.c-37</a></div>
<div><br>
</div>
<div>I think that might be all we have to do, but until you
try something, secret assumptions lurking in the code are
not obvious.</div>
</div>
</div>
</div>
</blockquote>
<br>
Last time we talked about it, there was an issue around the fact
that DMPlexInterpolateFaces_Internal() assumes all faces in each
cell to be of the same shape, which isn't true for cell types like
the 6-node wedge- some are triangles and some are quadrilaterals:<br>
<br>
<blockquote type="cite">
<div>The problem here is that if I allow faces of different
shapes, I have to keep track of the shape of each</div>
<div>face when I make it. This is possible, and I have added it
to the TODO list, but I think it will be a while</div>
before I get to it.</blockquote>
<br>
That may be the tricky part, and I'm not sure how much I can help
with it- I have looked at the code but am not confident I understand
it fully. I am happy at least to help with the definition of the
cell and testing etc.<br>
<br>
Cheers, Adrian<br>
<pre class="moz-signature" cols="72">--
Dr Adrian Croucher
Senior Research Fellow
Department of Engineering Science
University of Auckland, New Zealand
email: <a class="moz-txt-link-abbreviated" href="mailto:a.croucher@auckland.ac.nz">a.croucher@auckland.ac.nz</a>
tel: +64 (0)9 923 4611
</pre>
</body>
</html>