Thank you, Matt, the source codes of DMPlexComputeCellGeometryFVM and your other links seem to be very helpful. I think they answer most of my questions. I might come back with a few more detailed questions in 1-2 weeks if that is ok with you.
Thanks Herrmann On Wed, Sep 7, 2016 at 4:39 PM, Matthew Knepley <[email protected]> wrote: > On Mon, Sep 5, 2016 at 12:52 PM, Tonio Herrmann <[email protected]> > wrote: > >> Hello, >> 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. >> >> 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. >> > > Hi Hermann, > > There is currently no introduction of the kind you want. Everything I have > written is geared towards solving PDEs because that > it what I do with most of my time, and it is what I get the most questions > about. However, there are some resources: > > a) Papers > > http://arxiv.org/abs/0908.4427 > http://arxiv.org/abs/1506.07749 > http://arxiv.org/abs/1508.02470 > http://arxiv.org/abs/1506.06194 > > b) Manpages > > For example, you can get the coordinates of a DM using > > http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/DM/ > DMGetCoordinates.html > http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/DM/ > DMGetCoordinatesLocal.html#DMGetCoordinatesLocal > > or compute things like volumes or face areas, > > http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/DM/ > DMPlexComputeCellGeometryFVM.html > > or extracting the boundary > > http://www.mcs.anl.gov/petsc/petsc-current/docs/manualpages/DM/ > DMPlexCreateSubmesh.html > > c) Examples > > There are a lot of examples, like SNES ex12, ex62, ex77 where we use these > operations to solve PDEs. > > There is no operation for merging two Plex objects, but it would not be > hard to write, if you marked the common > boundary in both using a DMLabel. Plex is intended to be transparent > enough for users to write new operations > like these. > > Thanks, > > Matt > > 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? >> >> Thank you >> Hermann >> > > > > -- > What most experimenters take for granted before they begin their > experiments is infinitely more interesting than any results to which their > experiments lead. > -- Norbert Wiener >
