Actual source code: kspmatregi.c

petsc-3.11.3 2019-06-26
Report Typos and Errors
  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: }