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

Matthew Knepley knepley at gmail.com
Thu Feb 28 08:53:44 CST 2013


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


More information about the petsc-dev mailing list