<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Mon, Sep 5, 2016 at 12:52 PM, Tonio Herrmann <span dir="ltr"><<a href="mailto:tonioherrmann@gmail.com" target="_blank">tonioherrmann@gmail.com</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 dir="ltr"><div><div><div><div><div>Hello,<br></div>I am new to PETSc, and I am struggling to use it for some numerics problems. The mathematical capabilities are well explained in the manual, in several tutorials and examples.<br><br></div>But I am stuck at every tiny step, because I cannot find the required functions for all the very basic technical details, like getting the vertex coordinates of a DMPlex, the face areas and cell volumes (if available through PETSc?). Merging two DMPlexes, that share a common boundary, into one. Extracting a boundary of one DMPlex as a new DMPlex. Etc.<br></div></div></div></div></blockquote><div><br></div><div>Hi Hermann,</div><div><br></div><div>There is currently no introduction of the kind you want. Everything I have written is geared towards solving PDEs because that</div><div>it what I do with most of my time, and it is what I get the most questions about. However, there are some resources:</div><div><br></div><div>a) Papers</div><div><br></div><div>         <a href="http://arxiv.org/abs/0908.4427">http://arxiv.org/abs/0908.4427</a></div><div>         <a href="http://arxiv.org/abs/1506.07749">http://arxiv.org/abs/1506.07749</a></div><div>         <a href="http://arxiv.org/abs/1508.02470">http://arxiv.org/abs/1508.02470</a></div><div>         <a href="http://arxiv.org/abs/1506.06194">http://arxiv.org/abs/1506.06194</a></div><div><br></div><div>b) Manpages</div><div><br></div><div>For example, you can get the coordinates of a DM using</div><div><br></div><div>  <a href="http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/DM/DMGetCoordinates.html">http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/DM/DMGetCoordinates.html</a></div><div>  <a href="http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/DM/DMGetCoordinatesLocal.html#DMGetCoordinatesLocal">http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/DM/DMGetCoordinatesLocal.html#DMGetCoordinatesLocal</a></div><div><br></div><div>or compute things like volumes or face areas,</div><div><br></div><div>  <a href="http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/DM/DMPlexComputeCellGeometryFVM.html">http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/DM/DMPlexComputeCellGeometryFVM.html</a></div><div><br></div><div>or extracting the boundary</div><div><br></div><div>  <a href="http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/DM/DMPlexCreateSubmesh.html">http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/DM/DMPlexCreateSubmesh.html</a></div><div><br></div><div>c) Examples</div><div><br></div><div>There are a lot of examples, like SNES ex12, ex62, ex77 where we use these operations to solve PDEs.</div><div><br></div><div>There is no operation for merging two Plex objects, but it would not be hard to write, if you marked the common</div><div>boundary in both using a DMLabel. Plex is intended to be transparent enough for users to write new operations</div><div>like these.</div><div><br></div><div>  Thanks,</div><div><br></div><div>      Matt</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><div><div></div>Is there any technical introduction that shows how to deal with the data structures on a basic, geometrical and topological level without necessarily discussing the numerics of PDEs and equation systems?<br><br></div>Thank you<br></div>Hermann<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>