Actual source code: kspmatregi.c
petsc-3.11.4 2019-09-28
1: #include <petsc/private/kspimpl.h>
2: #include <../src/ksp/ksp/utils/schurm/schurm.h>
3: #include <../src/ksp/ksp/utils/lmvm/lmvm.h>
5: static PetscBool KSPMatRegisterAllCalled = PETSC_FALSE;
7: /*@C
8: KSPMatRegisterAll - Registers all matrix implementations in the KSP package.
10: Not Collective
12: Level: advanced
14: .keywords: Mat, KSP, register, all
16: .seealso: MatRegisterAll(), KSPInitializePackage()
17: @*/
18: PetscErrorCode KSPMatRegisterAll(void)
19: {
23: if (KSPMatRegisterAllCalled) return(0);
24: KSPMatRegisterAllCalled = PETSC_TRUE;
25: MatRegister(MATSCHURCOMPLEMENT, MatCreate_SchurComplement);
26: MatRegister(MATLMVMDFP, MatCreate_LMVMDFP);
27: MatRegister(MATLMVMBFGS, MatCreate_LMVMBFGS);
28: MatRegister(MATLMVMSR1, MatCreate_LMVMSR1);
29: MatRegister(MATLMVMBRDN, MatCreate_LMVMBrdn);
30: MatRegister(MATLMVMBADBRDN, MatCreate_LMVMBadBrdn);
31: MatRegister(MATLMVMSYMBRDN, MatCreate_LMVMSymBrdn);
32: MatRegister(MATLMVMSYMBADBRDN, MatCreate_LMVMSymBadBrdn);
33: MatRegister(MATLMVMDIAGBRDN, MatCreate_LMVMDiagBrdn);
34: return(0);
35: }