Actual source code: scoarsen.c
petsc-3.7.1 2016-05-15
Report Typos and Errors

      2: #include <petscmat.h>
      3: #include <petsc/private/matimpl.h>

      5: PETSC_EXTERN PetscErrorCode MatCoarsenCreate_MIS(MatCoarsen);
      6: PETSC_EXTERN PetscErrorCode MatCoarsenCreate_HEM(MatCoarsen);

     10: /*@C
     11:   MatCoarsenRegisterAll - Registers all of the matrix Coarsen routines in PETSc.

     13:   Not Collective

     15:   Level: developer

     17:   Adding new methods:
     18:   To add a new method to the registry. Copy this routine and
     19:   modify it to incorporate a call to MatCoarsenRegister() for
     20:   the new method, after the current list.

     22:   Restricting the choices: To prevent all of the methods from being
     23:   registered and thus save memory, copy this routine and modify it to
     24:   register a zero, instead of the function name, for those methods you
     25:  do not wish to register.  Make sure that the replacement routine is
     26:   linked before libpetscmat.a.

     28:  .keywords: matrix, Coarsen, register, all

     30:  .seealso: MatCoarsenRegister(), MatCoarsenRegisterDestroy()
     31:  @*/
     32: PetscErrorCode  MatCoarsenRegisterAll(void)
     33: {

     37:   if (MatCoarsenRegisterAllCalled) return(0);
     38:   MatCoarsenRegisterAllCalled = PETSC_TRUE;

     40:   MatCoarsenRegister(MATCOARSENMIS,MatCoarsenCreate_MIS);
     41:   MatCoarsenRegister(MATCOARSENHEM,MatCoarsenCreate_HEM);
     42:   return(0);
     43: }