Hi,

On 2021-07-14 3:14 p.m., Matthew Knepley wrote:
On Wed, Jul 14, 2021 at 1:25 PM Eric Chamberland <[email protected] <mailto:[email protected]>> wrote:

    Hi,

    while playing with DMPlexBuildFromCellListParallel, I noticed we
    have to
    specify "numCorners" which is a fixed value, then gives a fixed
    number
    of nodes for a series of elements.

    How can I then add, for example, triangles and quadrangles into a
    DMPlex?


You can't with that function. It would be much mich more complicated if you could, and I am not sure it is worth it for that function. The reason is that you would need index information to offset into the connectivity list, and that would need to be replicated to some extent so that all processes know what
the others are doing. Possible, but complicated.

Maybe I can help suggest something for what you are trying to do?

Yes: we are trying to partition our parallel mesh with PETSc functions.  The mesh has been read in parallel so each process owns a part of it, but we have to manage mixed elements types.

When we directly use ParMETIS_V3_PartMeshKway, we give two arrays to describe the elements which allows mixed elements.

So, how would I read my mixed mesh in parallel and give it to PETSc DMPlex so I can use a PetscPartitioner with DMPlexDistribute ?

A second goal we have is to use PETSc to compute the overlap, which is something I can't find in PARMetis (and any other partitionning library?)

Thanks,

Eric



  Thanks,

      Matt

    Thanks,

    Eric

-- Eric Chamberland, ing., M. Ing
    Professionnel de recherche
    GIREF/Université Laval
    (418) 656-2131 poste 41 22 42



--
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

https://www.cse.buffalo.edu/~knepley/ <http://www.cse.buffalo.edu/~knepley/>

--
Eric Chamberland, ing., M. Ing
Professionnel de recherche
GIREF/Université Laval
(418) 656-2131 poste 41 22 42

Reply via email to