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" <[email protected]> > À: "Cedric Doucet" <[email protected]>, "Matthew Knepley" > <[email protected]> > Cc: [email protected] > Envoyé: Vendredi 3 Janvier 2014 16:31:57 > Objet: Re: [petsc-users] DMPlexCreateFromCellList and hybrid meshes > > Cedric Doucet <[email protected]> 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. >
