Actual source code: kspmatregi.c

petsc-3.12.2 2019-11-22
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: .seealso: MatRegisterAll(),  KSPInitializePackage()
 15: @*/
 16: PetscErrorCode KSPMatRegisterAll(void)
 17: {

 21:   if (KSPMatRegisterAllCalled) return(0);
 22:   KSPMatRegisterAllCalled = PETSC_TRUE;
 23:   MatRegister(MATSCHURCOMPLEMENT,    MatCreate_SchurComplement);
 24:   MatRegister(MATLMVMDFP,            MatCreate_LMVMDFP);
 25:   MatRegister(MATLMVMBFGS,           MatCreate_LMVMBFGS);
 26:   MatRegister(MATLMVMSR1,            MatCreate_LMVMSR1);
 27:   MatRegister(MATLMVMBRDN,           MatCreate_LMVMBrdn);
 28:   MatRegister(MATLMVMBADBRDN,        MatCreate_LMVMBadBrdn);
 29:   MatRegister(MATLMVMSYMBRDN,        MatCreate_LMVMSymBrdn);
 30:   MatRegister(MATLMVMSYMBADBRDN,     MatCreate_LMVMSymBadBrdn);
 31:   MatRegister(MATLMVMDIAGBRDN,       MatCreate_LMVMDiagBrdn);
 32:   return(0);
 33: }