1*a77d671bSBarry Smith #include <petscmat.h> 2*a77d671bSBarry Smith #include <petsc/private/matimpl.h> 3*a77d671bSBarry Smith 4*a77d671bSBarry Smith PETSC_EXTERN PetscErrorCode MatCoarsenCreate_MIS(MatCoarsen); 5*a77d671bSBarry Smith PETSC_EXTERN PetscErrorCode MatCoarsenCreate_HEM(MatCoarsen); 6*a77d671bSBarry Smith PETSC_EXTERN PetscErrorCode MatCoarsenCreate_MISK(MatCoarsen); 7*a77d671bSBarry Smith 8*a77d671bSBarry Smith /*@C 9*a77d671bSBarry Smith MatCoarsenRegisterAll - Registers all of the matrix Coarsen routines in PETSc. 10*a77d671bSBarry Smith 11*a77d671bSBarry Smith Not Collective 12*a77d671bSBarry Smith 13*a77d671bSBarry Smith Level: developer 14*a77d671bSBarry Smith 15*a77d671bSBarry Smith .seealso: `MatCoarsen`, `MatCoarsenType`, `MatCoarsenRegister()`, `MatCoarsenRegisterDestroy()` 16*a77d671bSBarry Smith @*/ MatCoarsenRegisterAll(void)17*a77d671bSBarry SmithPetscErrorCode MatCoarsenRegisterAll(void) 18*a77d671bSBarry Smith { 19*a77d671bSBarry Smith PetscFunctionBegin; 20*a77d671bSBarry Smith if (MatCoarsenRegisterAllCalled) PetscFunctionReturn(PETSC_SUCCESS); 21*a77d671bSBarry Smith MatCoarsenRegisterAllCalled = PETSC_TRUE; 22*a77d671bSBarry Smith 23*a77d671bSBarry Smith PetscCall(MatCoarsenRegister(MATCOARSENMIS, MatCoarsenCreate_MIS)); 24*a77d671bSBarry Smith PetscCall(MatCoarsenRegister(MATCOARSENHEM, MatCoarsenCreate_HEM)); 25*a77d671bSBarry Smith PetscCall(MatCoarsenRegister(MATCOARSENMISK, MatCoarsenCreate_MISK)); 26*a77d671bSBarry Smith PetscFunctionReturn(PETSC_SUCCESS); 27*a77d671bSBarry Smith } 28