<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Fri, Jan 3, 2014 at 10:30 AM, Matthew Knepley <span dir="ltr"><<a href="mailto:knepley@gmail.com" target="_blank">knepley@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div><div class="h5"><div class="gmail_quote">On Fri, Jan 3, 2014 at 9:57 AM, Jed Brown <span dir="ltr"><<a href="mailto:jedbrown@mcs.anl.gov" target="_blank">jedbrown@mcs.anl.gov</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>Cedric Doucet <<a href="mailto:cedric.doucet@inria.fr" target="_blank">cedric.doucet@inria.fr</a>> writes:<br>

<br>
> I could use DMPlexCreateFromDAG but there are several drawbacks:<br>
> 1. DMPlexCreateFromDAG is not well documented;<br>
> 2. other developers will have to understand a tricky data structure<br>
> (DAG) to modify my code (see point 1 to understand why it is a<br>
> problem);;<br>
<br>
</div>Every public function is supposed to have a man page.  Matt neglected<br>
this rule in DMPlexCreateFromDAG and it's perfectly valid to complain<br>
about that.  However, I think DMPlexCreateFromDAG provides the<br>
functionality you need, and is sufficiently general to deal with things<br>
like boundary faces which are needed for most real simulations.<br>
<div><br>
> 3. DMPlexCreateFromDAG looks like a low-level function in comparison<br>
> with DMPlexCreateFromCellList which acts at a higher level: if you<br>
> modify this structure, I or someone else will have to modify my code<br>
> (see point 2 to understand why it is a problem);<br>
<br>
</div>It only uses complicated words; the data structure is basically the same<br>
as what you're asking for, with the added flexibility of being able to<br>
represent meshes containing cells with more than one topological<br>
dimension (e.g., volumes and faces).<br>
<div><br>
> You proposed to modify DMPlexCreateFromCellList function for me and I<br>
> decided to accept it after thinking about it.  Did you change your<br>
> mind?<br>
<br>
</div>I didn't propose that.  Maybe Matt did and of course he's welcome to<br>
generalize the function.<br>
</blockquote></div><br></div></div>DMPlexCreateFromDAG() is exactly that generalization. What is different from</div><div class="gmail_extra">CreateFrmCellList()?</div></div></blockquote><div><br></div><div>I'm sorry, I am sick today. Here is a fuller explanation. A 1-level DAG is exactly the same</div>
<div>as the cell-vertex input for CellList() EXCEPT that all numbering is contiguous. I also added</div><div>a gmsh reader, although it is not fully functional. He could not have chosen a worse format</div><div>for preallocating, and the boundary handling is insane, so I am delaying writing the full thing.</div>
<div>I am so disappointed with the gmsh format, I am not anxious to work with anything they do.</div><div><br></div><div>    Matt</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr"><div class="gmail_extra">   Matt<div class="im"><br clear="all">
<div><br></div>-- <br>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></div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br>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>