Actual source code: scoarsen.c
petsc-3.6.1 2015-08-06
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: }