#include "petscds.h" PetscErrorCode PetscDSRegister(const char sname[], PetscErrorCode (*function)(PetscDS))Not Collective
| name | - The name of a new user-defined creation routine | |
| create_func | - The creation routine itself | 
    PetscDSRegister("my_ds", MyPetscDSCreate);
Then, your PetscDS type can be chosen with the procedural interface via
    PetscDSCreate(MPI_Comm, PetscDS *);
    PetscDSSetType(PetscDS, "my_ds");
or at runtime via the option
    -petscds_type my_ds
Not available from Fortran