[petsc-users] DMPlexCreateFromCellList and hybrid meshes

Cedric Doucet cedric.doucet at inria.fr
Fri Jan 3 09:43:34 CST 2014

I could use DMPlexCreateFromDAG but there are several drawbacks:
1. DMPlexCreateFromDAG is not well documented;
2. other developers will have to understand a tricky data structure (DAG) to modify my code (see point 1 to understand why it is a problem);;
3. DMPlexCreateFromDAG looks like a low-level function in comparison with DMPlexCreateFromCellList which acts at a higher level: if you modify this structure, I or someone else will have to modify my code (see point 2 to understand why it is a problem); 
You proposed to modify DMPlexCreateFromCellList function for me and I decided to accept it after thinking about it.
Did you change your mind? 

----- Mail original -----
> De: "Jed Brown" <jedbrown at mcs.anl.gov>
> À: "Cedric Doucet" <cedric.doucet at inria.fr>, "Matthew Knepley" <knepley at gmail.com>
> Cc: petsc-users at mcs.anl.gov
> Envoyé: Vendredi 3 Janvier 2014 16:31:57
> Objet: Re: [petsc-users] DMPlexCreateFromCellList and hybrid meshes
> Cedric Doucet <cedric.doucet at inria.fr> writes:
> > Hello,
> > sorry, we talked about it few months ago.
> > For the moment, it is assumed in DMPlexCreateFromCellList function
> > that cells have all the same number of vertices.
> > In other words, it means that meshes containing one and only one
> > type of cell (from a topological viewpoint) can be handled by this
> > function only.
> > However, several mesh generators are able to discretize geometries
> > by means of different kinds of cells.
> > Resulting meshes are said to be mixed or hybrid because they
> > contain different types of cells.
> > To create a DMPlex structure from such a mesh, one needs to
> > slightly modify DMPlexCreateFromCellList prototype.
> Why can't you use DMPlexCreateFromDAG?  You can create a
> non-interpolated mesh and interpolate it later if you want.  Note
> that
> even for non-interpolated meshes, you often need boundary faces, in
> which case DMPlexCreateFromCellList would still not be sufficient.

More information about the petsc-users mailing list