#include "petscfe.h" PetscErrorCode PetscDualSpaceRegister(const char sname[], PetscErrorCode (*function)(PetscDualSpace))Not Collective
| name | - The name of a new user-defined creation routine | |
| create_func | - The creation routine itself | 
    PetscDualSpaceRegister("my_space", MyPetscDualSpaceCreate);
Then, your PetscDualSpace type can be chosen with the procedural interface via
    PetscDualSpaceCreate(MPI_Comm, PetscDualSpace *);
    PetscDualSpaceSetType(PetscDualSpace, "my_dual_space");
or at runtime via the option
    -petscdualspace_type my_dual_space