[petsc-dev] Creating a dmplex mesh from a cell list

Matthew Knepley knepley at gmail.com
Fri Mar 1 11:21:05 CST 2013


On Fri, Mar 1, 2013 at 12:14 PM, Garnet Vaz <garnet.vaz at gmail.com> wrote:

> Hi Matt,
>
> For this very example, (DMPlexCreateFromCellList webpage)
> how can I construct the Sieve object corresponding to
> something similar as shown in the Sieve paper Figure 1. The plex object
> currently does not hold edge information and I would like to loop
> through the edges.


You have two options:

  1) Hard: Put in those edges yourself, so expand the input to
DMPlexCreateFromCellList()

or

  2) Easy: DMPlexInterpolate(dmOriginal, &dmWithFacesAndEdges)

  Thanks,

     Matt


> Thank You.
>
> On Thu, Feb 28, 2013 at 6:53 AM, Matthew Knepley <knepley at gmail.com>
> wrote:
> > On Thu, Feb 28, 2013 at 8:24 AM, Garnet Vaz <garnet.vaz at gmail.com>
> wrote:
> >>
> >> Hi,
> >>
> >> I would like to know what some of the arguments for
> >> DMPlexCreateFromCellList are supposed to be for a triangular mesh.
> >>
> >> The function is:
> >> DMPlexCreateFromCellList(MPI_Comm comm, PetscInt dim, PetscInt
> >> numCells, PetscInt numVertices, PetscInt numCorners, PetscBool
> >> interpolate, const int cells[], PetscInt spaceDim, const double
> >> vertexCoords[], DM *dm)
> >>
> >> dim = 2
> >> numCells = nCells (not the entire length of the cells array; instead
> >> length/3)
> >> numVertices = nVert (length of vertexCoords/2)
> >> numCorners = 3
> >> spaceDim = 2
> >>
> >> What is wrong with my understanding about the following variables?
> >> The error I get is the following:
> >>
> >> [0]PETSC ERROR: Argument out of range!
> >> [0]PETSC ERROR: Cone point 43 is not in the valid range [0, 43)!
> >
> >
> > I have created a proper webpage for this function which will be on the
> web
> > at midnight. Here it is
> >
> > /*@C
> >   DMPlexCreateFromCellList - This takes as input common mesh generator
> > output, a list of the vertices for each cell, and produces a DM
> >
> >   Input Parameters:
> > + comm - The communicator
> > . dim - The topological dimension of the mesh
> > . numCells - The number of cells
> > . numVertices - The number of vertices
> > . numCorners - The number of vertices for each cell
> > . interpolate - Flag indicating that intermediate mesh entities (faces,
> > edges) should be created automatically
> > . cells - An array of numCells*numCorners numbers, the vertices for each
> > cell
> > . spaceDim - The spatial dimension used for coordinates
> > - vertexCoords - An array of numVertices*spaceDim numbers, the
> coordinates
> > of each vertex
> >
> >   Output Parameter:
> > . dm - The DM
> >
> >   Note: Two triangles sharing a face
> > $
> > $        2
> > $      / | \
> > $     /  |  \
> > $    /   |   \
> > $   0  0 | 1  3
> > $    \   |   /
> > $     \  |  /
> > $      \ | /
> > $        1
> > would have input
> > $  numCells = 2, numVertices = 4
> > $  cells = [0 1 2  1 3 2]
> > $
> > which would result in the DMPlex
> > $
> > $        4
> > $      / | \
> > $     /  |  \
> > $    /   |   \
> > $   2  0 | 1  5
> > $    \   |   /
> > $     \  |  /
> > $      \ | /
> > $        3
> >
> >   Level: beginner
> >
> > .seealso: DMPlexCreate()
> > @*/
> >
> > Does this help?
> >
> >   Thanks,
> >
> >      Matt
> >
> >>
> >>
> >> Thank You.
> >>
> >> --
> >> Regards,
> >> Garnet
> >
> >
> >
> >
> > --
> > 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
>
>
>
> --
> Regards,
> Garnet
>



-- 
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20130301/6ee311f0/attachment.html>


More information about the petsc-dev mailing list