[petsc-users] Ghost edges in DMPlex

Xavier Garnaud xgarnaud at gmail.com
Fri Jun 9 09:41:00 CDT 2017


Dear all,

I am working on a vertex-centered Finite Volume CFD solver (with only
tetrahedral or triangular cells). I'd like to be able to use DMPlex, but I
have a couple of questions:

For me, the most convenient way to store the mesh is to have, in addition
to the standard DMPlex built from a cell to node connectivity is to also
have 2 types of fictitious edges:
   1- for periodic surfaces, I build ghost cells and ghost nodes prior to
building the DMPlex, and I'd like to add "edges" that will give the
matching between the ghost nodes and the corresponding nodes. These edges
will not belong to any face or cell --> what would be the most convenient
way to add such edges ?
    2- for each node on each boundary surface, I'd like to add a fictitious
edge to easily compute the Finite Volume operators. --> can I have edges
that link a node to itself (possible several times if the node belongs to
several surfaces)? alternatively, should I add a fictitious node for each
surface, and link all the nodes in the surface to this fictitious node?

For the mesh partition, which option should I use in

    ierr = DMPlexSetAdjacencyUseCone(_dm,PETSC_TRUE);
    ierr = DMPlexSetAdjacencyUseClosure(_dm,PETSC_TRUE);

knowing that the unknowns are stores at the vertices and that two vertices
are connected if there is an edge between them?

Thank you very much for your library, and for your help.

Best regards,

Xavier
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20170609/37932e6b/attachment.html>


More information about the petsc-users mailing list