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: }