PETSc version 3.15.5
Fix/Edit manual page

# ISRegister

Adds a new index set implementation

### Synopsis

    #include "petscis.h"
    PetscErrorCode  ISRegister(const char sname[], PetscErrorCode (*function)(IS))

Not Collective

### Input Parameters

| name | - The name of a new user-defined creation routine
| create_func | - The creation routine itself

### Notes

ISRegister() may be called multiple times to add several user-defined vectors

### Sample usage

        ISRegister("my_is_name",  MyISCreate);

Then, your vector type can be chosen with the procedural interface via

        ISCreate(MPI_Comm, IS *);
        ISSetType(IS,"my_is_name");

or at runtime via the option

        -is_type my_is_name

This is no ISSetFromOptions() and the current implementations do not have a way to dynamically determine type, so dynamic registration of custom IS types will be of limited use to users.

### See Also

ISRegisterAll(), ISRegisterDestroy(), ISRegister()

### Level

developer

### Location

src/vec/is/is/interface/isreg.c
Index of all IS routines
Table of Contents for all manual pages
Index of all manual pages