[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