Hello
The whole PetscPartitioner class sources are part of
src/dm/impls/plex/plexpartition.c, mixed together with some DMPlex* functions.
If you don't mind, I would move the PetscPartitioner* stuff into the separate
file petscpartitioner.c
(in future, it could be even moved to a separate directory).
I would also like to
* add PetscPartitioner{Add,Set,Get}OptionsPrefix,
* create the partitioner lazily in DMPlexGetPartitioner, followed by
PetscObjectIncrementTabLevel, PetscLogObjectParent and
PetscPartitionerSetOptionsPrefix calls,
* edit src/dm/impls/plex/examples/tutorials/ex5.c so that it calls
DMSetFromOptions right after DMPlexCreateFromFile, in order to make the
partitioner changeable from options.
Do you have anything against?
Vaclav