Actual source code: sregis.c
2: #include <private/matimpl.h> /*I "petscmat.h" I*/
12: #if defined(PETSC_HAVE_UMFPACK)
14: #endif
20: /*@C
21: MatOrderingRegisterAll - Registers all of the matrix
22: reordering routines in PETSc.
24: Not Collective
26: Level: developer
28: Adding new methods:
29: To add a new method to the registry. Copy this routine and
30: modify it to incorporate a call to MatReorderRegister() for
31: the new method, after the current list.
33: Restricting the choices: To prevent all of the methods from being
34: registered and thus save memory, copy this routine and comment out
35: those orderigs you do not wish to include. Make sure that the
36: replacement routine is linked before libpetscmat.a.
38: .keywords: matrix, reordering, register, all
40: .seealso: MatOrderingRegisterDynamic(), MatOrderingRegisterDestroy()
41: @*/
42: PetscErrorCode MatOrderingRegisterAll(const char path[])
43: {
47: MatOrderingRegisterAllCalled = PETSC_TRUE;
49: MatOrderingRegisterDynamic(MATORDERINGNATURAL, path,"MatGetOrdering_Natural" ,MatGetOrdering_Natural);
50: MatOrderingRegisterDynamic(MATORDERINGND, path,"MatGetOrdering_ND" ,MatGetOrdering_ND);
51: MatOrderingRegisterDynamic(MATORDERING1WD, path,"MatGetOrdering_1WD" ,MatGetOrdering_1WD);
52: MatOrderingRegisterDynamic(MATORDERINGRCM, path,"MatGetOrdering_RCM" ,MatGetOrdering_RCM);
53: MatOrderingRegisterDynamic(MATORDERINGQMD, path,"MatGetOrdering_QMD" ,MatGetOrdering_QMD);
54: MatOrderingRegisterDynamic(MATORDERINGROWLENGTH,path,"MatGetOrdering_RowLength",MatGetOrdering_RowLength);
55: #if defined(PETSC_HAVE_UMFPACK)
56: MatOrderingRegisterDynamic(MATORDERINGAMD, path,"MatGetOrdering_AMD",MatGetOrdering_AMD);
57: #endif
59: return(0);
60: }