MatOrderingRegisterDynamic

Adds a new sparse matrix ordering to the matrix package.

Synopsis

int MatOrderingRegisterDynamic(char *name_ordering,char *path,char *name_create,int (*routine_create)(MatOrdering))
Not Collective

Input Parameters

sname - name of ordering (for example MATORDERING_ND)
path - location of library where creation routine is
name - name of function that creates the ordering type,a string
function - function pointer that creates the ordering

If dynamic libraries are used, then the fourth input argument (function) is ignored.

Sample usage

   MatOrderingRegisterDynamic("my_order",/home/username/my_lib/lib/libO/solaris/mylib.a,
               "MyOrder",MyOrder);

Then, your partitioner can be chosen with the procedural interface via

    MatOrderingSetType(part,"my_order)
or at runtime via the option
    -pc_ilu_mat_ordering_type my_order
    -pc_lu_mat_ordering_type my_order

${PETSC_ARCH} and ${BOPT} occuring in pathname will be replaced with appropriate values.

Keywords

matrix, ordering, register

See Also

MatOrderingRegisterDestroy(), MatOrderingRegisterAll()

Level:developer
Location:
src/mat/order/sorder.c
Index of all MatOrderings routines
Table of Contents for all manual pages
Index of all manual pages