<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Tue, Jan 20, 2015 at 3:06 AM, Justin Chang <span dir="ltr"><<a href="mailto:jychang48@gmail.com" target="_blank">jychang48@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div><div><div><div><div><div>Hi all,<br><br></div>I have a few simple questions regarding DMPlex mesh refinement, interpolation, and auxiliary data:<br><br></div>1) What exactly does DMPlexSetRefinementUniform do? Is it relevant only for the DMPlexCreateBoxMesh() function?<br></div></div></div></div></div></blockquote><div><br></div><div>Plex supports two types of refinement now. First, you can call a mesh generator for refinement, like Triangle or TetGen. Second,</div><div>you can uniformly refine cells, although I have only coded this for simplices and tensor products. The uniform refinement works</div><div>on any mesh, not just the builtin ones.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div><div><div><div></div>2) When I interpolate a given DMPlex mesh, what becomes of the "boundary" edge/face labels and/or IDs? That is, say if I had a 2D simplex element on the boundary domain and two of its vertices are assigned different marker ID's and/or labels, what will become of those intermediate mesh point(s) become?<br></div></div></div></div></blockquote><div><br></div><div>I do not mark them. That is up to the application, since there is no way to do it generically. What I do in my simple code is to use</div><div>MarkBoundaryFaces() and LabelComplete(). For complex things, I use the ExodusII format for marking faces.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div><div><div></div>3) If I have highly heterogeneous diffusivity or permeability (e.g., random permeability or a <a href="http://www.caam.rice.edu/~benamou/OLD/marmousi.html" target="_blank">marmousi </a>data set) that need to be read in as auxiliary coefficients, would I need to manually interpolate the data for the intermediate mesh points before I project the field into the FE space, or does PETSc have an ability somewhere to automatically interpolate these values for you?<br></div></div></div></blockquote><div><br></div><div>You have to explain more about what this data means. Is it cell-wise data? If so, why do you need to interpolate?</div><div>Shouldn't it just be in P0? If not, you can project the P0 data into any other space using either ProjectFunction()</div><div>or a slightly modified version of DMPlexComputeInterpolatorFEM().</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-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div><div></div>Thanks,<br></div>Justin<br></div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature">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>