#include "petscmat.h" PetscErrorCode MatColoringRegister(const char sname[],PetscErrorCode (*function)(MatColoring))Not Collective
| sname | - name of Coloring (for example MATCOLORINGSL) | |
| function | - function pointer that creates the coloring | 
   MatColoringRegister("my_color",MyColor);
Then, your partitioner can be chosen with the procedural interface via
    MatColoringSetType(part,"my_color")
or at runtime via the option
    -mat_coloring_type my_color